/* ********************************************************************************************************* * IAR Development Kits * on the * * M451 * * Filename : uart_dtu.h * Version : V1.00 * Programmer(s) : Qian Xianghong ********************************************************************************************************* */ #ifndef USER_UART_DTU_PRESENT #define USER_UART_DTU_PRESENT #include "type.h" // 初始化引脚 // 打开设备和允许中断 void DTU_Open(void); // 任务主体 void DTU_Task0(uint8_t c); void DTU_Task(void *p_arg); // 从服务器获取当前时间 void DTU_setOffsetSecondsFromServer(); // 信号量,用于通知执行任务 extern SemaphoreHandle_t DTU_semUpgrade; extern loopbuff_t DTU_TaskM; // 这个缓冲区比较大,不放在stack里面 #define DTU_GPSDATA_SIZE 120 extern char DTU_gpsData[2][DTU_GPSDATA_SIZE]; // 扩展内存 #define DTU_RECVBUFF_SIZE 200 extern char DTU_recvBuff[DTU_RECVBUFF_SIZE]; // 扩展内存 // 发送成功时间 extern volatile uint32_t DTU_succTime; // DTU_Task任务和服务器之间的收发缓冲 #define TASK_SENDBUFF_SIZE 400 extern uint8_t Task_sendBuff[TASK_SENDBUFF_SIZE]; // 扩展内存 // 计算2个坐标之间的距离 double GetDistance(int32_t lat1, int32_t lng1, int32_t lat2, int32_t lng2); uint8_t pack_gprs_tran_data(ext_data_t *pGprs, uint8_t is4G); uint8_t pack_modbus_tran_data(ext_data_t *pGprs); #endif