From 6a54fd6dd7b40c274b68b0f27bedb7b71b7a21c5 Mon Sep 17 00:00:00 2001 From: yincheng.zhong <634916154@qq.com> Date: 星期一, 26 八月 2024 09:39:41 +0800 Subject: [PATCH] 调试4G唤醒,和服务器下发解析 --- keil/include/main/main.c | 46 +++++++++++++++++++++++++++++----------------- 1 files changed, 29 insertions(+), 17 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index b36dfdb..33830ab 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -88,7 +88,7 @@ float nomove_count=0; static uint32_t sample[NUM_SAMPLES] = {0}; uint8_t recev_error_num,send_messgae_count,send_flag,control_state; - +uint8_t flag_4g_usart_rx_state = 1; //4G 串口RX当前是 RX状态,不是GPIO状态 typedef enum { UN_BIND=0, LINK_SUCCESS, @@ -192,6 +192,7 @@ HIDO_TimerTick(); nomove_count++; } +uint8_t flag_sleeptimer; static void sleep_timer_callback(void *dev, uint32_t time) { @@ -200,6 +201,7 @@ uwb_led_on(); delay_us(1000); uwb_led_off(); + flag_sleeptimer = 1; // send_messgae_count+=g_com_map[COM_INTERVAL]; // //if(send_messgae_count>=g_com_map[4G_INTERNAL]){ // //send_message_count=0; @@ -232,11 +234,12 @@ { nomove_count=0; } - +uint8_t flag_4G_recdata; static void _4gUsart_handler(enum IO_PIN_T pin) { - io_pin_mux_set(_4G_USART_RX_Pin,IO_FUNC4); - AIR780EUartInit(); + LOG_INFO(TRACE_MODULE_APP, "4G RX 唤醒\r\n"); + // flag_4G_recdata = 1; + // AIR780EUartInit(); } void Program_Init(void) { @@ -355,9 +358,9 @@ IO_control_init(); // gps_air780_power_change(0,1);//开启gps,4G //加速度计初始化必须在IO_control_init之前因为复用SDA引脚 - //adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 + adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 // uart_open(UART_ID1, &test_uart_cfg); - // Program_Init(); + Program_Init(); // uart_receive(UART_ID1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart_receive_callback); // Initialize low power mode power_init(); @@ -375,12 +378,13 @@ sleep_timer_start(__MS_TO_32K_CNT(1000));//测试 //board_5V_input_init(voltage_input_handler); board_acceleration_detection_init(move_handler); - + // board_4GUsart_detection_init(_4gUsart_handler); AIR780E_Reset(); //4G模块重启,耗时1.5秒 while (1) { if(flag_TCP_reconnectting||IfTCPConnected()) { + // LOG_INFO(TRACE_MODULE_APP, "处理4G任务\r\n"); if(flag_4guart_needinit) { flag_4guart_needinit = 0; @@ -434,16 +438,24 @@ //air780_success_state=0; //} #ifndef DEBUG_MODE -if(!gpio_pin_get_val(INPUT_5V_Pin)&&((IfTCPConnected()&&Socket_IsSendQueueEmpty(0))||!flag_TCP_reconnectting&&!IfTCPConnected())) //进入休眠条件(与关系,全满足才进):1.没有5V输入 2 TCP已连接时发送队列为空||TCP无连接时不在重连状态。 - { - board_4GUsart_detection_init(_4gUsart_handler); - // LOG_INFO(TRACE_MODULE_APP, "进入休眠"); - flag_4guart_needinit = 1; - trace_flush(); - uint32_t lock = int_lock(); - //LOG_INFO(TRACE_MODULE_APP, "进入低功耗"); - power_enter_power_down_mode(0); - int_unlock(lock); +//if(flag_sleeptimer) +if(!gpio_pin_get_val(INPUT_5V_Pin)&&((IfTCPConnected()&&Socket_IsSendQueueEmpty(0))||!flag_TCP_reconnectting&&!IfTCPConnected())&&!flag_4G_recdata) //进入休眠条件(与关系,全满足才进):1.没有5V输入 2 TCP已连接时发送队列为空||TCP无连接时不在重连状态。 + { + // if(!flag_4guart_needinit) + { + // LOG_INFO(TRACE_MODULE_APP, "4G RX 中断打开\r\n"); + // board_4GUsart_detection_init(_4gUsart_handler); +// + } +// flag_sleeptimer =0; +// LOG_INFO(TRACE_MODULE_APP, "进入休眠\r\n"); + // flag_4guart_needinit = 1; +// +// trace_flush(); +// uint32_t lock = int_lock(); +// //LOG_INFO(TRACE_MODULE_APP, "进入低功耗"); +// power_enter_power_down_mode(0); +// int_unlock(lock); } #endif } -- Gitblit v1.9.3