| | |
| | | #define UPDATE_TIME 10 |
| | | |
| | | |
| | | #define UWB_OPEN_COUNT 1 |
| | | #define UWB_MEASUREMENT_INTERVAL 3 |
| | | #define UWB_MEASUREMENT_INTERVAL_SLEEP 60 |
| | | |
| | | extern uint8_t mUsartReceivePack[100]; |
| | | extern uint8_t mUsart2ReceivePack[150]; |
| | | extern uint8_t state5V_prase_flag,gps_prase_flag; |
| | |
| | | LINK_SUCCESS, |
| | | SEARCH_DEV, |
| | | } Operation_step; |
| | | Operation_step UWB_work_state; |
| | | |
| | | Operation_step UWB_work_state; |
| | | // 定义状态 |
| | | typedef enum { |
| | | STATE_NORMAL, // 正常状态,3秒测距上传一次 |
| | | STATE_SLEEP // 休眠状态,1分钟测距上传一次 |
| | | } CountState_t; |
| | | |
| | | uint32_t uwb_time_count = 0; // 定时器计数值 |
| | | //uint32_t step_count = 0; // 步数计数 |
| | | //uint32_t last_step_count = 0; // 上一次步数 |
| | | |
| | | CountState_t current_state = STATE_NORMAL; // 当前状态 |
| | | uint32_t state_start_time = 0; // 状态开始时间 |
| | | |
| | | Commend_SendDate send_struct; |
| | | struct ADC_CFG_T usr_adc_cfg = { |
| | |
| | | uart_close(UART_ID0);//解绑原来串口0 |
| | | } |
| | | |
| | | extern uint32_t uwb_time_count; |
| | | void upload_apppoll() |
| | | { |
| | | uint32_t elapsed_time_jibu; |
| | | |
| | | switch (current_state) |
| | | { |
| | | case STATE_NORMAL: |
| | | elapsed_time_jibu = uwb_time_count - state_start_time; |
| | | switch(elapsed_time_jibu) |
| | | { |
| | | case UWB_OPEN_COUNT: |
| | | |
| | | CloseUWB(); |
| | | break; |
| | | |
| | | case UWB_MEASUREMENT_INTERVAL: |
| | | OpenUWB(); |
| | | state_start_time = uwb_time_count; |
| | | break; |
| | | } |
| | | break; |
| | | |
| | | case STATE_SLEEP: |
| | | elapsed_time_jibu = uwb_time_count - state_start_time; |
| | | switch(elapsed_time_jibu) |
| | | { |
| | | case UWB_OPEN_COUNT: |
| | | |
| | | CloseUWB(); |
| | | break; |
| | | |
| | | case UWB_MEASUREMENT_INTERVAL_SLEEP: |
| | | |
| | | OpenUWB(); |
| | | state_start_time = uwb_time_count; |
| | | break; |
| | | } |
| | | break; |
| | | } |
| | | |
| | | } |
| | | |
| | | uint8_t flag_4guart_needinit=0; |
| | | uint8_t index1,index2,index3; |
| | | int16_t Voltage_input; |
| | |
| | | extern uint8_t receive_flag; |
| | | int main(void) |
| | | { |
| | | __enable_irq(); |
| | | board_clock_run(); |
| | | boot_deinit(); |
| | | board_pins_config(); |