int THmonitoring_init() { //LED if ((exportGPIOPin(LEDpin)) == -1) { printf("exportGPIOPin(%d) failed\n", LEDpin); return -1; } if ((setGPIODirection(LEDpin, GPIO_OUT)) == -1) { printf("setGPIODirection(%d) failed\n", LEDpin); return -1; } //LCD if ((devFD_LCD = LCD1602Init()) == -1) { printf("Fail to init LCD1602\n"); return -1; } if (LCD1602Clear(devFD_LCD) == -1) { printf("Fail to Clear\n"); return -1; } //dht11 if ((devFD_DHT11 = dht11Init(DHT11pin)) == -1) { printf("Fail to init dht11\n"); return -1; } return 0; }
/******************************************************************************* * 函 数 名 :main * 函数功能 :主函数 * 输 入 :无 * 输 出 :无 *******************************************************************************/ void main() { CarStop(); LED_OFF; UsartConfiguration(); LCD1602Init(); Timer0Init(); //5ms 执行一次 while(1) { if(tick_5ms >= 5) { tick_5ms = 0; tick_200ms++; if(tick_200ms >= 40) { tick_200ms = 0; if(switch_flag) { LED_ON; switch_flag = 0; }else { LED_OFF; switch_flag = 1; } } continue_time--;//200ms 无接收指令就停车 if(continue_time == 0) { continue_time = 1; CarStop(); } //do something if(bt_rec_flag == 1)//接收到红外信号 { bt_rec_flag = 0; switch(ctrl_comm) { case COMM_UP: CarGo();break; case COMM_DOWN: CarBack();break; case COMM_LEFT: CarLeft();break; case COMM_RIGHT: CarRight();break; case COMM_STOP: CarStop();break; default : break; } LCD1602WriteCommand(ctrl_comm); //printf("%c",ctrl_comm); } } } }
int main(void) { delay_init(); GPIOCLKInit(); UserLEDInit(); LCD1602Init(); //IRCtrolInit(); TIM2_Init(); MotorInit(); ServoInit(); RedRayInit(); //USART3Conf(9600); while(1) { if(tick_5ms >= 5) { tick_5ms = 0; tick_200ms++; if(tick_200ms >= 40) { tick_200ms = 0; LEDToggle(LED_PIN); } // continue_time--;//200ms 无接收指令就停车 // if(continue_time == 0) // { // continue_time = 1; // CarStop(); // } //do something SearchRun(); if(ctrl_comm_last != ctrl_comm)//指令发生变化 { ctrl_comm_last = ctrl_comm; switch(ctrl_comm) { case COMM_UP: CarGo();break; case COMM_DOWN: CarBack();break; case COMM_LEFT: CarLeft();break; case COMM_RIGHT: CarRight();break; case COMM_STOP: CarStop();break; default : break; } Delayms(10);//防抖 LCD1602WriteCommand(ctrl_comm); } } } }
/******************************************************************************* * 函 数 名 :main * 函数功能 :主函数 * 输 入 :无 * 输 出 :无 *******************************************************************************/ void main() { int key_value; CarStop(); LED_OFF; LCD1602Init(); Timer0Init(); //5ms 执行一次 while(1) { key_value = KeyScan(); if(key_value == KEY1) { sys_status = 0; } if(key_value == KEY2) { sys_status = 1; } //执行部分 if(sys_status == 1) { VoidRun(); }else { ctrl_comm = COMM_STOP; CarStop(); } if(tick_5ms >= 5) { tick_5ms = 0; tick_200ms++; if(tick_200ms >= 40) { tick_200ms = 0; if(switch_flag) { LED_ON; switch_flag = 0; }else { LED_OFF; switch_flag = 1; } } } } }
int main(void) { delay_init(); GPIOCLKInit(); UserLEDInit(); LCD1602Init(); IRCtrolInit(); TIM2_Init(); MotorInit(); ServoInit(); while(1) { if(tick_5ms >= 5) { tick_5ms = 0; tick_200ms++; if(tick_200ms >= 40) { tick_200ms = 0; LEDToggle(LED_PIN); } continue_time--;//200ms 无接收指令就停车 if(continue_time == 0) { continue_time = 1; CarStop(); } //do something if(ir_rec_flag == 1)//接收到红外信号 { ir_rec_flag = 0; switch(ctrl_comm) { case COMM_UP: CarGo();break; case COMM_DOWN: CarBack();break; case COMM_LEFT: CarLeft();break; case COMM_RIGHT: CarRight();break; case COMM_STOP: CarStop();break; default : break; } LCD1602WriteCommand(ctrl_comm); } } } }
/************************************************* Function: LCDInit Description: Input: Output: Return: Others: *************************************************/ void LCDInit(void) { #if _LCD_LOG_ mLcdline1Len = 0; #endif #if (_LCD_MODULE_ == _LCD_1602_) LCD1602Init(); #endif #if (_LCD_MODULE_ == _LCD_12864B_) LCD12864Init(); #endif #if (_LCD_MODULE_ != _LCD_NONE_) LCDClearScreen(); LCDVersion(); #endif }
void test(char* line1, char* line2) { int devFD; if ((devFD = LCD1602Init()) == -1) { printf("Fail to init LCD1602\n"); return; } if (LCD1602Clear(devFD) == -1) { printf("Fail to Clear\n"); return; } if (LCD1602DispLines(devFD, line1, line2) == -1) { printf("Fail to Display String\n"); return ; } LCD1602DeInit(devFD); }
/******************************************************************************* * 函 数 名 :main * 函数功能 :主函数 * 输 入 :无 * 输 出 :无 *******************************************************************************/ void main() { CarStop(); LCD1602Init(); Timer0Init(); UltraSoundInit(); //5ms 执行一次 while(1) { if(tick_5ms >= 5) { tick_5ms = 0; tick_200ms++; if(tick_200ms >= 40) { tick_200ms = 0; LCD1602WriteDistance(distance_cm); } //do something Distance(); BarrierProc(); // if(ctrl_comm_last != ctrl_comm)//指令发生变化 // { // ctrl_comm_last = ctrl_comm; // switch(ctrl_comm) // { // case COMM_UP: CarGo();break; // case COMM_DOWN: CarBack();break; // case COMM_LEFT: CarLeft();break; // case COMM_RIGHT: CarRight();break; // case COMM_STOP: CarStop();break; // default : break; // } // LCD1602WriteCommand(ctrl_comm); // } } } }