| | |
| | | { |
| | | DebugPoll(); |
| | | } |
| | | uint32_t ceshi1=0; |
| | | uint32_t uwb_timer=0; |
| | | uint32_t battery_timer=0; |
| | | uint32_t led_timer=0; |
| | |
| | | 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] = (1<<8)|2; |
| | | g_com_map[VERSION] = (1<<8)|0; |
| | | if(g_com_map[GPS_ONTIME]==0) |
| | | { |
| | | g_com_map[GPS_ONTIME]=3600; |
| | |
| | | NVIC_SystemReset(); |
| | | } |
| | | } |
| | | extern uint8_t jiasudu; |
| | | extern enum enumtagstate |
| | | { |
| | | |
| | | DISCPOLL, |
| | | REGPOLL, |
| | | GETNEARMSG, |
| | | NEARPOLL, |
| | | SINGLEPOLL, |
| | | } tag_state; |
| | | extern int32_t temp_dist; |
| | | /* USER CODE END 0 */ |
| | | |
| | | /** |
| | |
| | | HAL_Delay(500); |
| | | Set4LEDColor(GREEN,GREEN,GREEN,GREEN); |
| | | HAL_Delay(500); |
| | | // MX_IWDG_Init(); |
| | | // NVIC_SystemReset(); |
| | | Set4LEDColor_Off(); //关一下led总电源 |
| | | if(g_com_map[NEARBASE_ID10]==0) |
| | | { |
| | | usart_send[0]=0x55; |
| | | usart_send[1]=0xAA; |
| | | dwt_configcontinuousframemode(12480); |
| | | dwt_writetxdata(13, usart_send, 0);//将Poll包数据传给DW1000,将在开启发送时传出去 |
| | | dwt_writetxfctrl(13, 0);//设置超宽带发送数据长度 |
| | | dwt_starttx(DWT_START_TX_IMMEDIATE);//开启发送,发送完成后等待一段时间开启接收,等待时间在dwt_setrxaftertxdelay中设置 |
| | | } |
| | | else |
| | | { |
| | | Power_GPS_LoraOn(); |
| | | } |
| | | /* USER CODE END 2 */ |
| | | |
| | | /* Infinite loop */ |
| | | /* USER CODE BEGIN WHILE */ |
| | | while (1) |
| | | { |
| | | |
| | | if(g_com_map[NEARBASE_ID10]==0) |
| | | { |
| | | IdleTask(); |
| | | } |
| | | else |
| | | { |
| | | ceshi(); |
| | | if(lp_time-uwb_timer>=UWB_WORK_TIME_S) //是否到uwb工作时间了。 |
| | | { |
| | | uwbled=BLUE; |
| | | Set4LEDColor(powerled,loraled,gpsled,uwbled); |
| | | Tag_App(); |
| | | // Lora_Sendfinalbag_Poll() |
| | | uwb_timer=lp_time; |
| | | uwb_work_num++; |
| | | uwbled=LEDOFF; |
| | | Set4LEDColor(powerled,loraled,gpsled,uwbled); |
| | | } |
| | | if(lp_time-ceshi1>=1) //发送各相是否成功。 |
| | | { |
| | | ceshi1=lp_time; |
| | | if(jiasudu==1) |
| | | HIDO_Debug("加速度计没问题\r\n"); |
| | | else |
| | | {HIDO_Debug("加速度计错误错误错误!!!!!\r\n");} |
| | | if( temp_dist>0&&temp_dist<1000) |
| | | HIDO_Debug("UWB没问题\r\n"); |
| | | else |
| | | { HIDO_Debug("UWB错误错误错误!!!!!\r\n");} |
| | | } |
| | | |
| | | } |
| | | // HAL_IWDG_Refresh(&hiwdg); |
| | | APL_Poll();//lora接收,gps接收时间判断,单片机休眠函数,蜂鸣器判断函数。 |
| | | #ifndef UWB_OFF_FANGCHAI_ON |
| | | Uwb_Poll(); |
| | | #else |
| | | {GPS_ON_flag=1;} |
| | | #endif |
| | | Battery_Poll();//检测电量函数,每60s测一次电量。 |
| | | Time_to_restart_Poll();//防止出现意外情况,或则不考虑翻转问提,20000000s重启一次设备。 |
| | | // APL_Poll();//lora接收,gps接收时间判断,单片机休眠函数,蜂鸣器判断函数。 |
| | | // #ifndef UWB_OFF_FANGCHAI_ON |
| | | // Uwb_Poll(); |
| | | // #else |
| | | // {GPS_ON_flag=1;} |
| | | // #endif |
| | | // Battery_Poll();//检测电量函数,每60s测一次电量。 |
| | | // Time_to_restart_Poll();//防止出现意外情况,或则不考虑翻转问提,20000000s重启一次设备。 |
| | | /* USER CODE END WHILE */ |
| | | |
| | | /* USER CODE BEGIN 3 */ |