#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(void) { //?·Ç485²É¼¯¡¢·§¿ØÆÚ¼ä²ÅÄܽøÈëͨѶÁ÷³Ì //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:; } }