From d875292ca0e18a027067f5c1c6bec205b3cfba31 Mon Sep 17 00:00:00 2001 From: chen <15335560115@163.com> Date: 星期五, 18 十月 2024 18:24:19 +0800 Subject: [PATCH] 低功耗优化代码控制在500UA左右,缩小每次接收超时时间为2500和帧间隔缩为600,URT端也相应改为400帧间隔,目前实现较稳定测距 --- keil/Objects/uwb_simple_example.build_log.htm | 64 +++++++++++++++++++------------- 1 files changed, 38 insertions(+), 26 deletions(-) diff --git a/keil/Objects/uwb_simple_example.build_log.htm b/keil/Objects/uwb_simple_example.build_log.htm index 0eba855..a72f1aa 100644 --- a/keil/Objects/uwb_simple_example.build_log.htm +++ b/keil/Objects/uwb_simple_example.build_log.htm @@ -89,66 +89,72 @@ void uwb_poll_buffer_construct(void) ^ static -uwb_tag_.c(293): warning: no previous prototype for function 'FindNearBasePos' [-Wmissing-prototypes] +uwb_tag_.c(294): warning: no previous prototype for function 'FindNearBasePos' [-Wmissing-prototypes] uint8_t FindNearBasePos(uint16_t baseid)//寻<D5>业<B1>前<C1>斜<ED><D6>械幕<F9>站<B7><B5><BB><D8><CB><F7><D2><FD> ^ -uwb_tag_.c(293): note: declare 'static' if the function is not intended to be used outside of this translation unit +uwb_tag_.c(294): note: declare 'static' if the function is not intended to be used outside of this translation unit uint8_t FindNearBasePos(uint16_t baseid)//寻<D5>业<B1>前<C1>斜<ED><D6>械幕<F9>站<B7><B5><BB><D8><CB><F7><D2><FD> ^ static -uwb_tag_.c(303): warning: non-void function does not return a value in all control paths [-Wreturn-type] +uwb_tag_.c(304): warning: non-void function does not return a value in all control paths [-Wreturn-type] } ^ -uwb_tag_.c(334): warning: implicit conversion changes signedness: 'int32_t' (aka 'int') to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] +uwb_tag_.c(335): warning: implicit conversion changes signedness: 'int32_t' (aka 'int') to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] temp_dist=true_nearbase_distlist[j]; ~^~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(336): warning: implicit conversion changes signedness: 'int32_t' (aka 'int') to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] +uwb_tag_.c(337): warning: implicit conversion changes signedness: 'int32_t' (aka 'int') to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] temp_exsis=true_exsistbase_list[j]; ~^~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(341): warning: implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int32_t' (aka 'int') [-Wsign-conversion] +uwb_tag_.c(342): warning: implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int32_t' (aka 'int') [-Wsign-conversion] true_nearbase_distlist[j+1]=temp_dist; ~^~~~~~~~~ -uwb_tag_.c(342): warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] +uwb_tag_.c(343): warning: implicit conversion loses integer precision: 'uint32_t' (aka 'unsigned int') to 'uint16_t' (aka 'unsigned short') [-Wimplicit-int-conversion] true_nearbase_idlist[j+1]=temp_id; ~^~~~~~~ -uwb_tag_.c(343): warning: implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int32_t' (aka 'int') [-Wsign-conversion] +uwb_tag_.c(344): warning: implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int32_t' (aka 'int') [-Wsign-conversion] true_exsistbase_list[j+1]=temp_exsis; ~^~~~~~~~~~ -uwb_tag_.c(351): warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] +uwb_tag_.c(352): warning: implicit conversion loses integer precision: 'int32_t' (aka 'int') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] exsistbase_list[i] = true_exsistbase_list[i]; ~ ^~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(365): warning: variable 'temp' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] +uwb_tag_.c(366): warning: variable 'temp' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized] if(taglist_total_num<MAX_TAG_LIST_NUM) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(367): note: uninitialized use occurs here +uwb_tag_.c(368): note: uninitialized use occurs here return temp; ^~~~ -uwb_tag_.c(365): note: remove the 'if' if its condition is always true +uwb_tag_.c(366): note: remove the 'if' if its condition is always true if(taglist_total_num<MAX_TAG_LIST_NUM) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(356): note: initialize the variable 'temp' to silence this warning +uwb_tag_.c(357): note: initialize the variable 'temp' to silence this warning uint16_t temp; ^ = 0 -uwb_tag_.c(405): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] +uwb_tag_.c(371): warning: no previous extern declaration for non-static variable 'tt' [-Wmissing-variable-declarations] +int tt=1; + ^ +uwb_tag_.c(371): note: declare 'static' if the variable is not intended to be used outside of this translation unit +int tt=1; +^ +uwb_tag_.c(407): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] tempflag=uwb_tx(uwb_sendbuffer,13+4*nearbase_num,1,poll_tx_en_start_u32);//<C1><A2><BC><B4><B7><A2><CB><CD> ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(416): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] +uwb_tag_.c(421): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] tempflag=uwb_rx(0,0, RESP_RX_TIMEOUT_US); ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(441): warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] +uwb_tag_.c(443): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] + tempflag=uwb_rx(0, 0, RESP_RX_TIMEOUT_US);//<C1><A2><BC><B4><BF><AA><C6><F4><BD><D3><CA>懿<A2><C9><E8><D6><C3>0<B3><AC>时 + ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +uwb_tag_.c(449): warning: implicit conversion loses integer precision: 'uint16_t' (aka 'unsigned short') to 'uint8_t' (aka 'unsigned char') [-Wimplicit-int-conversion] SetANCTimestap(rec_nearbasepos,&rx_buf[RESP_MSG_POLL_RX_TS_IDX],&rx_buf[RESP_MSG_RESP_TX_TS_IDX],(uint32_t)resp_rx_ts_i64,&rx_buf[RESP_MSG_ANC_DISTOFFSET],test2,(uint32_t)poll_tx_ts_i64); ~~~~~~~~~~~~~~ ^~~~~~~~~~~~~~~ -uwb_tag_.c(457): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] - tempflag=uwb_rx(0, 0, RESP_RX_TIMEOUT_US);//<C1><A2><BC><B4><BF><AA><C6><F4><BD><D3><CA>懿<A2><C9><E8><D6><C3>0<B3><AC>时 - ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(462): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] +uwb_tag_.c(471): warning: implicit conversion changes signedness: 'int' to 'uint32_t' (aka 'unsigned int') [-Wsign-conversion] tempflag=uwb_rx(0, 0, RESP_RX_TIMEOUT_US);//<C1><A2><BC><B4><BF><AA><C6><F4><BD><D3><CA>懿<A2><C9><E8><D6><C3>0<B3><AC>时 ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -uwb_tag_.c(474): warning: no newline at end of file [-Wnewline-eof] +uwb_tag_.c(492): warning: no newline at end of file [-Wnewline-eof] #endif ^ -uwb_tag_.c(473): warning: non-void function does not return a value [-Wreturn-type] +uwb_tag_.c(491): warning: non-void function does not return a value [-Wreturn-type] } ^ uwb_tag_.c(48): warning: no previous extern declaration for non-static variable 'dev_id' [-Wmissing-variable-declarations] @@ -379,6 +385,12 @@ uwb_tag_.c(144): note: declare 'static' if the variable is not intended to be used outside of this translation unit uint32_t count1,count2; ^ +uwb_tag_.c(370): warning: no previous extern declaration for non-static variable 'count_index' [-Wmissing-variable-declarations] +uint32_t count_index; + ^ +uwb_tag_.c(370): note: declare 'static' if the variable is not intended to be used outside of this translation unit +uint32_t count_index; +^ uwb_tag_.c(100): warning: unused variable 'tx_poll_msg' [-Wunused-variable] static uint8_t tx_poll_msg[] = {0x41, 0x88, 0, 0x4D, 0x4B, 0x53, 0x45, 0x4D, 0x49, 0x02}; ^ @@ -403,15 +415,15 @@ uwb_tag_.c(169): warning: unused variable 'state' [-Wunused-variable] static enum SIMPLE_FSM_T state = SIMPLE_IDLE; ^ -73 warnings generated. +75 warnings generated. compiling uwb_tag_.c... linking... .\include\devices\MK800X\Source\ARM\MK800X_ac6_copy.sct(25): warning: L6314W: No section matches pattern *(.XIP_SECTION). -Program Size: Code=47204 RO-data=7260 RW-data=1272 ZI-data=25020 +Program Size: Code=48820 RO-data=7260 RW-data=1272 ZI-data=25020 Finished: 0 information, 1 warning and 0 error messages. FromELF: creating hex file... After Build - User command #1: fromelf.exe --bincombined -o "Output\uwb_simple_example.bin" "D:\project chen\ChinaUWBProject_tag_URT\keil\Objects\uwb_simple_example.axf" -".\Objects\uwb_simple_example.axf" - 0 Error(s), 74 Warning(s). +".\Objects\uwb_simple_example.axf" - 0 Error(s), 76 Warning(s). <h2>Software Packages used:</h2> @@ -425,7 +437,7 @@ d:\Users\xookk\AppData\Local\Arm\Packs\MKSEMI\MK800X_DFP\1.0.3\Device\Include <h2>Collection of Component Files used:</h2> -Build Time Elapsed: 00:00:04 +Build Time Elapsed: 00:00:05 </pre> </body> </html> -- Gitblit v1.9.3