From f8fe8c08a399c3b6622f809fda4925851aef2c21 Mon Sep 17 00:00:00 2001 From: zhangbo <zhangbo@qq.com> Date: 星期三, 23 七月 2025 14:05:45 +0800 Subject: [PATCH] 长庆测试版 --- keil/include/main/main.c | 137 ++++++++++++++++++++++++--------------------- 1 files changed, 74 insertions(+), 63 deletions(-) diff --git a/keil/include/main/main.c b/keil/include/main/main.c index 746172f..a65928e 100644 --- a/keil/include/main/main.c +++ b/keil/include/main/main.c @@ -93,7 +93,8 @@ #define UWB_OPEN_COUNT 1 // UWB每次开启持续时间(秒) #define UWB_MEASUREMENT_INTERVAL 3 // 正常状态测距周期 #define UWB_MEASUREMENT_INTERVAL_SLEEP 60 // 休眠状态测距周期 -#define INACTIVE_TIMEOUT 30 // 无步数变化超时时间(秒) +#define INACTIVE_TIMEOUT 6 +// 无步数变化超时时间(秒) void test_Delay_us(uint16_t time); @@ -339,7 +340,7 @@ input5v_time=1; // g_start_send_flag=1; HIDO_TimerTick(); -// lora_tx_flag++; + lora_tx_flag++; uwb_time_count++; jibu_flag=1; jishu_flag=1; @@ -495,53 +496,53 @@ { UART0_CheckReceive(); UART_CheckReceive(); -//if(read_5v_input_pca()) -// { -// chongman_time=0; -// RED_LED_ON; -// GREEN_LED_OFF; -// UWB_LED_OFF; -// BT_LED_OFF; -// LORA_LED_OFF; -// while(1) -// { -// nomove_count = 0; +if(read_5v_input_pca()) + { + chongman_time=0; + RED_LED_ON; + GREEN_LED_OFF; + UWB_LED_OFF; + BT_LED_OFF; + LORA_LED_OFF; + while(1) + { + nomove_count = 0; -// if(HIDO_TimerGetTick()-adctick>600) //10分钟采样一次 电量 -// { -// chongman_time=chongman_time+60; -// adctick = HIDO_TimerGetTick(); -// PCA9555_Set_One_Value_Output(PWR_GND,0);//拉低 -// adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 -// } -// if(bat_percent>=99&&chongman_time>=180) -// { -// GREEN_LED_ON; -// RED_LED_OFF; -// } -// else -// { -// RED_LED_ON; -// GREEN_LED_OFF; -// } -// UART_CheckReceive(); -// if(input5v_time) -// { -// if(!read_5v_input_pca()) -// { -// break; -// } -// } -// } -// sys_reset(0); -//// NVIC_SystemReset(); -//// input5vflag=1; -// } -// else -// { -// -//// sys_reset(0); -// } + if(HIDO_TimerGetTick()-adctick>600) //10分钟采样一次 电量 + { + chongman_time=chongman_time+60; + adctick = HIDO_TimerGetTick(); + PCA9555_Set_One_Value_Output(PWR_GND,0);//拉低 + adc_get(&sample[0], NUM_SAMPLES, adc_callback);//adc采样 + } + if(bat_percent>=99&&chongman_time>=180) + { + GREEN_LED_ON; + RED_LED_OFF; + } + else + { + RED_LED_ON; + GREEN_LED_OFF; + } + UART_CheckReceive(); + if(input5v_time) + { + if(!read_5v_input_pca()) + { + break; + } + } + } + sys_reset(0); +// NVIC_SystemReset(); +// input5vflag=1; + } + else + { + +// sys_reset(0); + } } int bind_check(void) @@ -641,25 +642,34 @@ io_pin_mux_set(LORA_MOSI, IO_FUNC2); io_pin_mux_set(LORA_MISO, IO_FUNC2); io_pin_mux_set(LORA_CLK, IO_FUNC2); - io_pin_mux_set(LORA_DIO, IO_FUNC0); + io_pin_mux_set(LORA_DIO, IO_FUNC0); //ADC - io_pin_mux_set(ADC_PIN, IO_FUNC1); + io_pin_mux_set(ADC_PIN, IO_FUNC1); io_pull_set(ADC_PIN, IO_HIGH_Z, IO_PULL_UP_NONE); //串口0 - io_pin_mux_set(UART0_RX, IO_FUNC4); + io_pin_mux_set(UART0_RX, IO_FUNC4); io_pin_mux_set(UART0_TX, IO_FUNC4); uart_open(UART_ID0, &test_uart_cfg); - uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma + uart_receive(UART_ID0,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE,uart0_receive_callback);//开启dma //串口1 - io_pin_mux_set(UART1_RX, IO_FUNC4); + io_pin_mux_set(UART1_RX, IO_FUNC4); io_pin_mux_set(UART1_TX, IO_FUNC4); - board_debug_console_open(TRACE_PORT_UART1,BAUD_115200); - uart_receive(UART_ID1,m_EUART_DMA_RXBuf_1,USART_RX_BUF_SIZE,uart1_receive_callback);//开启dma + board_debug_console_open(TRACE_PORT_UART1,BAUD_115200); + uart_receive(UART_ID1,m_EUART_DMA_RXBuf_1,USART_RX_BUF_SIZE,uart1_receive_callback);//开启dma + + //PA控制引脚开启 + io_pin_mux_set(IO_PIN_9, IO_FUNC6); + io_pin_mux_set(IO_PIN_10, IO_FUNC6); + + io_pin_mux_set(IO_PIN_4, IO_FUNC0); + gpio_pin_set_dir(IO_PIN_4 , GPIO_DIR_OUT, 1); +// io_pull_set(IO_PIN_4, IO_HIGH_Z, IO_PULL_UP_NONE); + } void spi_init() { @@ -762,7 +772,7 @@ // PCA9555_Set_One_Value_Output(IO_KONG,0); // delay_us(10000); // PCA9555_Set_One_Value_Output(IO_KONG,1); - PCA9555_Set_One_Value_Output(BT_IRQ,0); + PCA9555_Set_One_Value_Output(BT_IRQ,0); delay_us(10000); PCA9555_Set_One_Value_Output(BT_IRQ,1); CloseUWB(); @@ -790,7 +800,7 @@ // PCA9555_Set_One_Value_Output(IO_KONG,0); // delay_us(10000); // PCA9555_Set_One_Value_Output(IO_KONG,1); - PCA9555_Set_One_Value_Output(BT_IRQ,0); + PCA9555_Set_One_Value_Output(BT_IRQ,0); delay_us(10000); PCA9555_Set_One_Value_Output(BT_IRQ,1); CloseUWB(); @@ -854,7 +864,7 @@ int main(void) { board_clock_run(); - boot_deinit(); + boot_deinit(); // Reset reason reset_cause_get(); @@ -872,13 +882,13 @@ Board_LORA_NVIC_Init(Lora_irq_handler); - IIC2_Init(); + IIC2_Init(); Accelerometer_Init(); - PCA9555_init(); - pca_input_detection_init(pca_handler); - adc_open(&usr_adc_cfg); - Lora_1268_Init(); + PCA9555_init(); + pca_input_detection_init(pca_handler); + adc_open(&usr_adc_cfg); + Lora_1268_Init(); SwitchLoraSettings(478,7,22); Program_Init(); power_init(); @@ -888,6 +898,7 @@ Uwbinit(); while (1) { + if(jibu_flag) { jibu_flag=0; -- Gitblit v1.9.3