#include "../CMSIS/gd32f10x.h" #include "systick.h" #include "../Hardware/boardinit.h" #include "../App/xspDataOpt.h" #include "../App/taskOpt.h" #include "../App/air780e.h" #include "../App/masterslave.h" extern volatile uint32_t g_tick; int main(void) { systick_config(); board_init(); // init_flash(); rct_init(); epprom_power_up_deal(); ota_power_up_read_update_status(); printf_dev_msg(); srand(g_devMsg.devSn); //powerup_read_record_from_flash(g_xspReDa.data); //power_up_read_comm_min_time(); uart_init(); init_mqtt_power_up(); //连接4G init_run_data(); while(1){ if(key_scan()){ printf("按键按下 按键=%x, 次数=%d\r\n",g_keyinfo.keyVal,g_keyinfo.count); key_opteration(); g_keyinfo.count = 0; g_keyinfo.keyVal = 0; } if((B4G_HAVE == g_devMsg.bHave4G)){ // 有4G模块 if((0==g_4gMsg.bconnect) && (WORK_UPDATE != g_devMsg.workMode)){ // 重连4G模块 g_devMsg.baskIdentity = 0x00; if(timeout_isOut(&g_4gMsg.timer)){ // 上次时间超时 init_4g_power_up(); init_mqtt_power_up(); } } dev_4g_up_status_to_server(); // 有4G的从设备上发状态信息 master_deal_4g_rx_data(); // 处理4G的接收fifo if(WORK_UPDATE != g_devMsg.workMode) { master_work_loop(); } if(1 == g_up7segData.bOpen) open_8seg_test_mode();// 调试模式 } analysis_485_rx_fifo(); // 读取485的接收fifo master_deal_4g_tx_data(); // 读取 4G的发送fifo,并发送数据到服务器 if(WORK_UPDATE == g_devMsg.workMode){ ota_check_update_timer(); ota_offline_handle();//离线升级 } ota_update_deal_upstatus();//处理升级的状态上报 } }