From 37e61b5bf9aba18b6d0a5a4892494f0016c6e9c6 Mon Sep 17 00:00:00 2001 From: WXK <287788329@qq.com> Date: 星期一, 18 十二月 2023 16:11:14 +0800 Subject: [PATCH] 1 --- Core/Src/main.c | 79 ++++++++++++++++++++++++++++++++++----- 1 files changed, 68 insertions(+), 11 deletions(-) diff --git a/Core/Src/main.c b/Core/Src/main.c index 6cf914d..898dc73 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -100,6 +100,7 @@ { DebugPoll(); } +uint32_t ceshi1=0; uint32_t uwb_timer=0; uint32_t battery_timer=0; uint32_t led_timer=0; @@ -126,7 +127,7 @@ 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; @@ -278,6 +279,17 @@ 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 */ /** @@ -334,23 +346,68 @@ 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 */ -- Gitblit v1.9.3