#include "wireless_remote_comm.h" #include "uart.h" #include "gpio.h" WRC_CTRL_PARA_T wrc_ctrl_para_g={.wrc_state=WRC_IDLE}; void WRC_PWR_GPIO_Init(void) { OutputIO(WRC_PWR_PORT,WRC_PWR_PIN,OUT_PUSHPULL); } void WrcSendCreateLinkCmd(void) { uint8_t buffer[255]; //?·¢ËÍÄÚÈÝ´¦Àí WRC_SEND_NORMAL(buffer,205); } WRC_STATUS WrcOpenPwrPro(void) { WRC_PWR_GPIO_Init(); WRC_PWR_ON; //?´®¿Ú³õʼ»¯ return WRC_SEND_DATA; } WRC_STATUS WrcCreateLinkPro(void) { //?·¢ËÍÃüÁîʹģ¿éÓë·þÎñÆ÷½¨Á¢Á´½Ó return WRC_WAIT_REC_DATA; } WRC_STATUS WrcSendDataPro(void) { //?·¢ËÍÊý¾Ý´¦Àí return WRC_WAIT_REC_DATA; } WRC_STATUS WrcWaitRecDataPro(void) { //?·¢ËÍÊý¾Ý´¦Àí return WRC_SEND_DATA; return WRC_CLOSE_PWR; } WRC_STATUS WrcClosePwrPro(void) { //?·¢ËÍÊý¾Ý´¦Àí return WRC_IDLE; //¹Ø»úÍê±Ï£¬·µ»ØWRC_IDLE½áÊø±¾´ÎͨѶÁ÷³Ì return WRC_CLOSE_PWR; //¹Ø»úÒªµÈ´ýµÄ»°Ôò¼ÌÐø·µ»ØWRC_CLOSE_PWR } void WirelessRemoteCommPro(FUN_START_CTRL_PARA_T * sys_fun_run_ctrl_p) { //?·Ç485²É¼¯¡¢·§¿ØÆÚ¼ä²ÅÄܽøÈëͨѶÁ÷³Ì if((sys_fun_run_ctrl_p->wrc_ctrl_flag.start_flag ==SET)&&(sys_fun_run_ctrl_p->valve_ctrl_flag.running_flag == RESET)&&(sys_fun_run_ctrl_p->rs485_ctrl_flag.running_flag == RESET))//?ÅжÏ485²É¼¯±êʶ { sys_fun_run_ctrl_p->wrc_ctrl_flag.start_flag =RESET; if(wrc_ctrl_para_g.wrc_state == WRC_IDLE) wrc_ctrl_para_g.wrc_state = WRC_OPEN_PWR; } switch (wrc_ctrl_para_g.wrc_state){ case WRC_IDLE: break; case WRC_OPEN_PWR: wrc_ctrl_para_g.wrc_state = WrcOpenPwrPro() ;break; case WRC_CREATE_LINK: wrc_ctrl_para_g.wrc_state = WrcCreateLinkPro();break; case WRC_SEND_DATA: wrc_ctrl_para_g.wrc_state = WrcSendDataPro();break; case WRC_WAIT_REC_DATA: wrc_ctrl_para_g.wrc_state = WrcWaitRecDataPro();break; case WRC_CLOSE_PWR: wrc_ctrl_para_g.wrc_state = WrcClosePwrPro();;break; default:; } if(wrc_ctrl_para_g.wrc_state==WRC_IDLE) sys_fun_run_ctrl_p->wrc_ctrl_flag.running_flag = RESET; else sys_fun_run_ctrl_p->wrc_ctrl_flag.running_flag = SET; }