| | |
| | | bat_percent=Get_Battary(); |
| | | if(HAL_GPIO_ReadPin(INPUT_5V_GPIO_Port,INPUT_5V_Pin)) |
| | | { |
| | | nomove_count = 0; |
| | | // nomove_count = 0; |
| | | if(state5v==0) |
| | | { |
| | | UWB_RXOFF(); |
| | | state5v=1; |
| | | UsartInit(); |
| | | } |
| | |
| | | uint8_t uwb_active_flag = 0; |
| | | u8 active_flag=0; |
| | | u16 nomovesleep_time=0,interval; |
| | | extern uint8_t uwb_onflag; |
| | | void Program_Init(void) |
| | | { float temp; |
| | | uint16_t temp2; |
| | |
| | | hardware_pici= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+2); |
| | | hardware_type= STMFLASH_ReadHalfWord(FLASH_HARDWARE_VERSION_MAP+4); |
| | | //deca_sleep(1000); |
| | | g_com_map[VERSION] = (2<<8)|1; |
| | | g_com_map[VERSION] = (2<<8)|11; |
| | | |
| | | // g_com_map[DEV_ID]=0x7; |
| | | #ifdef DEBUG_MODE |
| | |
| | | active_flag = g_com_map[ACTIVE_INDEX]; |
| | | |
| | | //g_com_map[HEIGHTOFFEST_INDEX]=g_com_map[MAX_REPORT_ANC_NUM]; |
| | | uwb_onflag=g_com_map[UWB_ONFLAG]; |
| | | module_power = g_com_map[POWER]; |
| | | imu_enable=g_com_map[IMU_ENABLE]; |
| | | motor_enable=g_com_map[MOTOR_ENABLE]; |
| | |
| | | // break; |
| | | // } |
| | | } |
| | | |
| | | void DoubleClickProcess(void) |
| | | { char temp[50]; |
| | | uint8_t len; |
| | |
| | | HAL_Delay(1000); |
| | | HAL_TIM_PWM_Stop(&htim2, TIM_CHANNEL_3); |
| | | } |
| | | if(uwb_onflag) |
| | | { |
| | | UWB_RXOFF(); |
| | | } |
| | | else |
| | | { |
| | | UWB_RXON(); |
| | | } |
| | | g_com_map[UWB_ACTIVE_FLAG_IDX]= uwb_active_flag; |
| | | save_com_map_to_flash(); |
| | | } |
| | |
| | | { |
| | | //SCB->AIRCR = 0X05FA0000|(unsigned int)0x04; //软复位回到bootloader |
| | | } |
| | | |
| | | uint8_t userkey_num; |
| | | /* USER CODE END 0 */ |
| | | |
| | | /** |
| | |
| | | // dwt_configuresleep(DWT_PRESRV_SLEEP | DWT_CONFIG, DWT_WAKE_CS | DWT_WAKE_WK| DWT_SLP_EN); |
| | | // dwt_entersleep(); |
| | | // waitusart_timer=tag_frequency*USART_KEEPWAKE_TIME;; |
| | | dwt_setinterrupt( DWT_INT_RFCG | (DWT_INT_ARFE | DWT_INT_RFSL | DWT_INT_SFDT | DWT_INT_RPHE | DWT_INT_RFCE | DWT_INT_RFTO | DWT_INT_RXPTO), 1); |
| | | dwt_setrxtimeout(0);//设定接收超时时间,0位没有 |
| | | dwt_rxenable(0); |
| | | // dwt_setinterrupt( DWT_INT_RFCG | (DWT_INT_ARFE | DWT_INT_RFSL | DWT_INT_SFDT | DWT_INT_RPHE | DWT_INT_RFCE | DWT_INT_RFTO | DWT_INT_RXPTO), 1); |
| | | // dwt_setrxtimeout(0);//设定接收超时时间,0位没有 |
| | | // dwt_rxenable(0); |
| | | if(uwb_onflag) |
| | | { |
| | | UWB_RXON(); |
| | | } |
| | | else |
| | | { |
| | | UWB_RXOFF(); |
| | | } |
| | | DW_DISABLE; |
| | | if(HAL_UART_Receive_DMA(&huart1,m_EUART_DMA_RXBuf,EUART_RX_BUF_SIZE)) |
| | | { |
| | |
| | | HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI); |
| | | #endif |
| | | } |
| | | if(g_start_send_flag) |
| | | if(g_start_send_flag/*&&uwb_onflag*/) |
| | | { static uint16_t blink_count=0; |
| | | g_start_send_flag = 0; |
| | | // GetPressAndTemp(); |
| | |
| | | }else{ |
| | | IdleTask(); |
| | | } |
| | | |
| | | // HAL_Delay(100); |
| | | // Get_Battary(); |
| | | |
| | |
| | | static uint8_t i=0; |
| | | SystemClock_Config(); |
| | | g_start_send_flag=1; |
| | | userkey_num=0; |
| | | // current_slotnum++; |
| | | // SetNextPollTime(tagslotpos); |
| | | if(button_delay<1) |
| | |
| | | }else{ |
| | | gotosleep_flag=0; |
| | | } |
| | | #ifndef DEBUG_MODE |
| | | //#ifndef DEBUG_MODE |
| | | if(nomove_count>g_com_map[NOMOVESLEEP_TIME]&&imu_enable) |
| | | { |
| | | mcu_sleep(); |
| | | } |
| | | #endif |
| | | //#endif |
| | | } |
| | | /* USER CODE END 4 */ |
| | | |