#include "CONFIG.h" #if AIWB2 #ifndef __AIWB2_H #define __AIWB2_H #include "stm32f10x.h" // Device header #include #include "Timer_Module.h" extern uint8_t conID; //socket ID char * WIFI_Name(void); char * WIFI_Password(void); enum Result { Result_None, // 未知 Result_Success, // 成功 Result_Failed, // 失败 }; enum STATUS { Status_None, // 空闲 Status_Sending, // 正在发送 Status_Success, // 成功 Status_Failed, // 失败 Status_Overtime, // 超时 }; extern struct AIWB2_Struct aiwb2; // aiwb2的AT发送状态机 struct AIWB2_Struct { enum STATUS status; // 状态 uint16_t activeID; //活动的编号,下面每个活动都有一个唯一的编号 struct TIMER_Struct timer; // 计时器 void (* reset) (void); //重置接收区的状态 void (* exit_sleep)(void); // 退出休眠 void (* exit_sleep_io)(void); // 退出休眠 void (* enter_sleep_io)(void);//硬件的方式进入休眠 enum Result (* enter_sleep)(void); // 进入休眠 enum Result (* exit_sleep_io_test)(void);//退出休眠并检测结果 enum Result (* ready)(void); // 模块是否启动成功 enum Result (* test_at)(void);//发送AT enum Result (* set_receivingmode)(uint8_t n); //设置接收模式 enum Result (* set_workmode)(uint8_t n,uint8_t m); enum Result (* set_connect_WIFI)(char *WIFI_Name, char *WIFI_Password); enum Result (* set_sleep)(uint8_t n); // 设置休眠模式 enum Result (* set_dataout)(void);//设定回显的数据格式 enum Result (* set_qisde)(uint8_t echo); // 控制发送数据后是否回显 enum Result (* open_socket)(uint8_t UDPID, char * IP_address, uint16_t remote_port); // 打开Socket服务 enum Result (* send)(uint8_t connectID, uint8_t * data, uint16_t data_length, uint16_t * regist_data_length); // 发送数据 enum Result (* recv_with_time)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。 enum Result (* recv)(uint8_t connectID, uint8_t * data, uint16_t * data_length); // 接收数据 enum Result (* recv_with_time_regist)(uint8_t connectID, uint8_t * data, uint16_t * data_length, uint32_t time_out); // 接收数据,带等待时间。 enum Result (* recv_regist)(uint8_t connectID, uint8_t * data, uint16_t * data_length); // 接收数据 enum Result (* wdisconnet)(void); // 断开WIFI连接 enum Result (* close_socket)(uint8_t connectID); // 关闭socket服务 enum Result (* query_id_signal)(char * ID, int * RSSI); //查询未连接wifi的rssi enum Result (* query_signal)(int * RSSI);//查询连接wifi的rssi }; #endif #endif