更新 分段校准bug修复(步骤变量、线圈复位)

This commit is contained in:
吴俊潮 2024-09-18 15:59:35 +08:00
parent cedc28a549
commit 94dd7b378d
17 changed files with 1057 additions and 1092 deletions

View File

@ -122,8 +122,6 @@ int main(void)
modbus_rtu_init();
ee_io_init();
prov_init(); //±ÈÀý·§³õʼ»¯
prov_adj_init(); //比例阀整定参数初始化,继电反馈
prov_adj_section_init(); //比例阀整定参数初始化,分段式
/* USER CODE END 2 */

File diff suppressed because one or more lines are too long

View File

@ -200,6 +200,11 @@
<WinNumber>1</WinNumber>
<ItemText>adj_pv2</ItemText>
</Ww>
<Ww>
<count>9</count>
<WinNumber>1</WinNumber>
<ItemText>astep_s</ItemText>
</Ww>
</WatchWindow1>
<MemoryWindow1>
<Mm>

Binary file not shown.

View File

@ -27,12 +27,6 @@ Project File Date: 09/12/2024
<h2>Output:</h2>
*** Using Compiler 'V5.06 update 7 (build 960)', folder: 'C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\Bin'
Build target 'VOQC'
compiling main.c...
compiling ads1220.c...
compiling provalctrl.c...
linking...
Program Size: Code=33662 RO-data=458 RW-data=416 ZI-data=6880
FromELF: creating hex file...
"VOQC\VOQC.axf" - 0 Error(s), 0 Warning(s).
<h2>Software Packages used:</h2>
@ -56,7 +50,7 @@ Package Vendor: Keil
<h2>Collection of Component Files used:</h2>
* Component: ARM::CMSIS:CORE@5.6.0
Build Time Elapsed: 00:00:12
Build Time Elapsed: 00:00:01
</pre>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
<title>Static Call Graph - [VOQC\VOQC.axf]</title></head>
<body><HR>
<H1>Static Call Graph for image VOQC\VOQC.axf</H1><HR>
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Thu Sep 12 10:47:07 2024
<BR><P>#&#060CALLGRAPH&#062# ARM Linker, 5060960: Last Updated: Wed Sep 18 13:42:59 2024
<BR><P>
<H3>Maximum Stack Usage = 452 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
Call chain for Maximum Stack Depth:</H3>
@ -504,16 +504,16 @@ Global Symbols
<BR><BR>[Calls]<UL><LI><a href="#[7b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_uldivmod
</UL>
<P><STRONG><a name="[13a]"></a>__aeabi_memcpy</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<P><STRONG><a name="[138]"></a>__aeabi_memcpy</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text))
<BR><BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
</UL>
<P><STRONG><a name="[7c]"></a>__rt_memcpy</STRONG> (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED)
@ -543,7 +543,7 @@ Global Symbols
<LI><a href="#[e1]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_TIM1_Init
<LI><a href="#[de]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;MX_GPIO_Init
<LI><a href="#[ee]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SystemClock_Config
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
</UL>
<P><STRONG><a name="[17e]"></a>__aeabi_memclr8</STRONG> (Thumb, 0 bytes, Stack size 4 bytes, rt_memclr_w.o(.text), UNUSED)
@ -684,23 +684,23 @@ Global Symbols
</UL>
<P><STRONG><a name="[143]"></a>GetHoldRegData</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, modbus.o(i.GetHoldRegData))
<BR><BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<BR><BR>[Called By]<UL><LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
</UL>
<P><STRONG><a name="[144]"></a>GetInputRegData</STRONG> (Thumb, 16 bytes, Stack size 0 bytes, modbus.o(i.GetInputRegData))
<BR><BR>[Called By]<UL><LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<BR><BR>[Called By]<UL><LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
</UL>
<P><STRONG><a name="[141]"></a>GetOneCoilVal</STRONG> (Thumb, 50 bytes, Stack size 12 bytes, modbus.o(i.GetOneCoilVal))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = GetOneCoilVal
</UL>
<BR>[Called By]<UL><LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<BR>[Called By]<UL><LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
</UL>
<P><STRONG><a name="[142]"></a>GetOneDisInputVal</STRONG> (Thumb, 50 bytes, Stack size 12 bytes, modbus.o(i.GetOneDisInputVal))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = GetOneDisInputVal
</UL>
<BR>[Called By]<UL><LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
</UL>
<P><STRONG><a name="[8f]"></a>GetSensorData</STRONG> (Thumb, 92 bytes, Stack size 8 bytes, mf5803.o(i.GetSensorData))
@ -884,7 +884,7 @@ Global Symbols
<LI><a href="#[117]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ds18b20_write_byte
<LI><a href="#[116]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ds18b20_rst
<LI><a href="#[11a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ds18b20_read_bit
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;clrcs
</UL>
@ -1254,7 +1254,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[9b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_DMA_Start_IT
</UL>
<BR>[Called By]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<BR>[Called By]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
</UL>
<P><STRONG><a name="[f0]"></a>HAL_UART_TxCpltCallback</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, stm32f4xx_hal_uart.o(i.HAL_UART_TxCpltCallback))
@ -1397,19 +1397,19 @@ Global Symbols
<P><STRONG><a name="[6]"></a>MemManage_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.MemManage_Handler))
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f407xx.o(RESET)
</UL>
<P><STRONG><a name="[139]"></a>ModbusCRC16</STRONG> (Thumb, 70 bytes, Stack size 12 bytes, modbus.o(i.ModbusCRC16))
<P><STRONG><a name="[137]"></a>ModbusCRC16</STRONG> (Thumb, 70 bytes, Stack size 12 bytes, modbus.o(i.ModbusCRC16))
<BR><BR>[Stack]<UL><LI>Max Depth = 12<LI>Call Chain = ModbusCRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_process_rtu
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
</UL>
<P><STRONG><a name="[4]"></a>NMI_Handler</STRONG> (Thumb, 4 bytes, Stack size 0 bytes, stm32f4xx_it.o(i.NMI_Handler))
@ -1535,15 +1535,15 @@ Global Symbols
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f407xx.o(RESET)
</UL>
<P><STRONG><a name="[146]"></a>WriteHoldRegData</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, modbus.o(i.WriteHoldRegData))
<BR><BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<BR><BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
</UL>
<P><STRONG><a name="[145]"></a>WriteOneCoilData</STRONG> (Thumb, 114 bytes, Stack size 16 bytes, modbus.o(i.WriteOneCoilData))
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = WriteOneCoilData
</UL>
<BR>[Called By]<UL><LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<BR>[Called By]<UL><LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
</UL>
<P><STRONG><a name="[f2]"></a>_74hc165_init</STRONG> (Thumb, 24 bytes, Stack size 8 bytes, hc165.o(i._74hc165_init))
@ -1568,8 +1568,8 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[78]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__rt_exit_exit
</UL>
<P><STRONG><a name="[13e]"></a>abs_bias</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, provalctrl.o(i.abs_bias))
<BR><BR>[Called By]<UL><LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_calibrate_pid
<P><STRONG><a name="[13c]"></a>abs_bias</STRONG> (Thumb, 26 bytes, Stack size 0 bytes, provalctrl.o(i.abs_bias))
<BR><BR>[Called By]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_calibrate_pid
</UL>
<P><STRONG><a name="[10a]"></a>adcs_data</STRONG> (Thumb, 10 bytes, Stack size 0 bytes, adcs.o(i.adcs_data))
@ -1957,7 +1957,7 @@ Global Symbols
<LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[12d]"></a>encoder_run</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, encoder.o(i.encoder_run))
<P><STRONG><a name="[12b]"></a>encoder_run</STRONG> (Thumb, 116 bytes, Stack size 0 bytes, encoder.o(i.encoder_run))
<BR><BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
@ -2034,15 +2034,13 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[10f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;digital_ctrl
</UL>
<P><STRONG><a name="[74]"></a>main</STRONG> (Thumb, 138 bytes, Stack size 0 bytes, main.o(i.main))
<P><STRONG><a name="[74]"></a>main</STRONG> (Thumb, 130 bytes, Stack size 0 bytes, main.o(i.main))
<BR><BR>[Stack]<UL><LI>Max Depth = 176<LI>Call Chain = main &rArr; SystemClock_Config &rArr; HAL_RCC_ClockConfig &rArr; HAL_RCC_GetSysClockFreq &rArr; __aeabi_uldivmod
</UL>
<BR>[Calls]<UL><LI><a href="#[12a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_init
<LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section_init
<LI><a href="#[12b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_init
<LI><a href="#[129]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_rtu_init
<LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mf5803_setup
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_run
<LI><a href="#[12b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_run
<LI><a href="#[113]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;encoder_init
<LI><a href="#[11b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ee_io_init
<LI><a href="#[119]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ds18b20_init
@ -2089,50 +2087,50 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
<LI><a href="#[91]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;delay_ms
<LI><a href="#[90]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;wf5803_WriteReg
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
</UL>
<BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
</UL>
<P><STRONG><a name="[12f]"></a>modbus_analysis_rtu</STRONG> (Thumb, 180 bytes, Stack size 24 bytes, modbus_rtu.o(i.modbus_analysis_rtu))
<P><STRONG><a name="[12d]"></a>modbus_analysis_rtu</STRONG> (Thumb, 180 bytes, Stack size 24 bytes, modbus_rtu.o(i.modbus_analysis_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 396<LI>Call Chain = modbus_analysis_rtu &rArr; writemulticoil_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<BR>[Calls]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
</UL>
<BR>[Called By]<UL><LI><a href="#[c8]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_process_rtu
</UL>
<P><STRONG><a name="[138]"></a>modbus_errfunction_rtu</STRONG> (Thumb, 118 bytes, Stack size 120 bytes, modbus_rtu.o(i.modbus_errfunction_rtu))
<P><STRONG><a name="[136]"></a>modbus_errfunction_rtu</STRONG> (Thumb, 118 bytes, Stack size 120 bytes, modbus_rtu.o(i.modbus_errfunction_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 212<LI>Call Chain = modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[c8]"></a>modbus_process_rtu</STRONG> (Thumb, 64 bytes, Stack size 24 bytes, modbus_rtu.o(i.modbus_process_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 420<LI>Call Chain = modbus_process_rtu &rArr; modbus_analysis_rtu &rArr; writemulticoil_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<BR>[Calls]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
</UL>
<BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_PeriodElapsedCallback
</UL>
@ -2157,12 +2155,11 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[d6]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_RxCpltCallback
</UL>
<P><STRONG><a name="[12b]"></a>prov_adj_init</STRONG> (Thumb, 168 bytes, Stack size 0 bytes, provalctrl.o(i.prov_adj_init))
<BR><BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_ctrl
<P><STRONG><a name="[13d]"></a>prov_adj_init</STRONG> (Thumb, 80 bytes, Stack size 0 bytes, provalctrl.o(i.prov_adj_init))
<BR><BR>[Called By]<UL><LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_ctrl
</UL>
<P><STRONG><a name="[13c]"></a>prov_adj_section</STRONG> (Thumb, 576 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj_section))
<P><STRONG><a name="[13a]"></a>prov_adj_section</STRONG> (Thumb, 600 bytes, Stack size 16 bytes, provalctrl.o(i.prov_adj_section))
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = prov_adj_section &rArr; prov_set
</UL>
<BR>[Calls]<UL><LI><a href="#[106]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_set
@ -2170,26 +2167,25 @@ Global Symbols
<BR>[Called By]<UL><LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_ctrl
</UL>
<P><STRONG><a name="[12c]"></a>prov_adj_section_init</STRONG> (Thumb, 122 bytes, Stack size 0 bytes, provalctrl.o(i.prov_adj_section_init))
<BR><BR>[Called By]<UL><LI><a href="#[74]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;main
<LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_ctrl
<P><STRONG><a name="[13e]"></a>prov_adj_section_init</STRONG> (Thumb, 64 bytes, Stack size 0 bytes, provalctrl.o(i.prov_adj_section_init))
<BR><BR>[Called By]<UL><LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_ctrl
</UL>
<P><STRONG><a name="[13d]"></a>prov_calibrate_pid</STRONG> (Thumb, 944 bytes, Stack size 8 bytes, provalctrl.o(i.prov_calibrate_pid))
<P><STRONG><a name="[13b]"></a>prov_calibrate_pid</STRONG> (Thumb, 944 bytes, Stack size 8 bytes, provalctrl.o(i.prov_calibrate_pid))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = prov_calibrate_pid
</UL>
<BR>[Calls]<UL><LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;abs_bias
<BR>[Calls]<UL><LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;abs_bias
</UL>
<BR>[Called By]<UL><LI><a href="#[107]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_ctrl
</UL>
<P><STRONG><a name="[107]"></a>prov_ctrl</STRONG> (Thumb, 102 bytes, Stack size 16 bytes, provalctrl.o(i.prov_ctrl))
<P><STRONG><a name="[107]"></a>prov_ctrl</STRONG> (Thumb, 108 bytes, Stack size 16 bytes, provalctrl.o(i.prov_ctrl))
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = prov_ctrl &rArr; prov_adj_section &rArr; prov_set
</UL>
<BR>[Calls]<UL><LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section_init
<LI><a href="#[12b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_init
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_calibrate_pid
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_calibrate_pid
<LI><a href="#[13e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section_init
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section
<LI><a href="#[13d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_init
</UL>
<BR>[Called By]<UL><LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;analog_ctrl
</UL>
@ -2213,59 +2209,59 @@ Global Symbols
<BR>[Calls]<UL><LI><a href="#[140]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_section_calculate
</UL>
<BR>[Called By]<UL><LI><a href="#[104]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;analog_ctrl
<LI><a href="#[13c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;prov_adj_section
</UL>
<P><STRONG><a name="[130]"></a>readcoilstate_rtu</STRONG> (Thumb, 326 bytes, Stack size 152 bytes, modbus_rtu.o(i.readcoilstate_rtu))
<P><STRONG><a name="[12e]"></a>readcoilstate_rtu</STRONG> (Thumb, 326 bytes, Stack size 152 bytes, modbus_rtu.o(i.readcoilstate_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 364<LI>Call Chain = readcoilstate_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[141]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetOneCoilVal
<LI><a href="#[96]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memclr4
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[131]"></a>readdisinputstate_rtu</STRONG> (Thumb, 322 bytes, Stack size 152 bytes, modbus_rtu.o(i.readdisinputstate_rtu))
<P><STRONG><a name="[12f]"></a>readdisinputstate_rtu</STRONG> (Thumb, 322 bytes, Stack size 152 bytes, modbus_rtu.o(i.readdisinputstate_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 364<LI>Call Chain = readdisinputstate_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[142]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetOneDisInputVal
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[132]"></a>readholdreg_rtu</STRONG> (Thumb, 258 bytes, Stack size 136 bytes, modbus_rtu.o(i.readholdreg_rtu))
<P><STRONG><a name="[130]"></a>readholdreg_rtu</STRONG> (Thumb, 258 bytes, Stack size 136 bytes, modbus_rtu.o(i.readholdreg_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 348<LI>Call Chain = readholdreg_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[143]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetHoldRegData
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[133]"></a>readinputreg_rtu</STRONG> (Thumb, 252 bytes, Stack size 136 bytes, modbus_rtu.o(i.readinputreg_rtu))
<P><STRONG><a name="[131]"></a>readinputreg_rtu</STRONG> (Thumb, 252 bytes, Stack size 136 bytes, modbus_rtu.o(i.readinputreg_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 348<LI>Call Chain = readinputreg_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[144]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetInputRegData
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[12e]"></a>setcs</STRONG> (Thumb, 86 bytes, Stack size 8 bytes, ms5803.o(i.setcs))
<P><STRONG><a name="[12c]"></a>setcs</STRONG> (Thumb, 86 bytes, Stack size 8 bytes, ms5803.o(i.setcs))
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = setcs
</UL>
<BR>[Calls]<UL><LI><a href="#[87]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_GPIO_WritePin
@ -2279,20 +2275,20 @@ Global Symbols
<BR><BR>[Called By]<UL><LI><a href="#[c2]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_TIM_PeriodElapsedCallback
</UL>
<P><STRONG><a name="[13b]"></a>uart_send</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, uarts.o(i.uart_send))
<P><STRONG><a name="[139]"></a>uart_send</STRONG> (Thumb, 20 bytes, Stack size 16 bytes, uarts.o(i.uart_send))
<BR><BR>[Stack]<UL><LI>Max Depth = 92<LI>Call Chain = uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[da]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;HAL_UART_Transmit_DMA
</UL>
<BR>[Called By]<UL><LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<BR>[Called By]<UL><LI><a href="#[132]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglereg_rtu
<LI><a href="#[135]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writesinglecoil_rtu
<LI><a href="#[134]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemultireg_rtu
<LI><a href="#[133]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;writemulticoil_rtu
<LI><a href="#[131]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readinputreg_rtu
<LI><a href="#[130]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readholdreg_rtu
<LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readdisinputstate_rtu
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;readcoilstate_rtu
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
</UL>
<P><STRONG><a name="[92]"></a>wf5803_ReadReg</STRONG> (Thumb, 34 bytes, Stack size 16 bytes, mf5803.o(i.wf5803_ReadReg))
@ -2300,7 +2296,7 @@ Global Symbols
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_Write_OneByte
<LI><a href="#[ea]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_Read_OneByte
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;clrcs
</UL>
<BR>[Called By]<UL><LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetSensorData
@ -2310,59 +2306,59 @@ Global Symbols
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = wf5803_WriteReg &rArr; SPI_Write_OneByte
</UL>
<BR>[Calls]<UL><LI><a href="#[ec]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;SPI_Write_OneByte
<LI><a href="#[12e]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[12c]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;setcs
<LI><a href="#[10d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;clrcs
</UL>
<BR>[Called By]<UL><LI><a href="#[128]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;mf5803_setup
<LI><a href="#[8f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;GetSensorData
</UL>
<P><STRONG><a name="[135]"></a>writemulticoil_rtu</STRONG> (Thumb, 322 bytes, Stack size 160 bytes, modbus_rtu.o(i.writemulticoil_rtu))
<P><STRONG><a name="[133]"></a>writemulticoil_rtu</STRONG> (Thumb, 322 bytes, Stack size 160 bytes, modbus_rtu.o(i.writemulticoil_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 372<LI>Call Chain = writemulticoil_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteOneCoilData
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[136]"></a>writemultireg_rtu</STRONG> (Thumb, 252 bytes, Stack size 144 bytes, modbus_rtu.o(i.writemultireg_rtu))
<P><STRONG><a name="[134]"></a>writemultireg_rtu</STRONG> (Thumb, 252 bytes, Stack size 144 bytes, modbus_rtu.o(i.writemultireg_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 356<LI>Call Chain = writemultireg_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteHoldRegData
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[137]"></a>writesinglecoil_rtu</STRONG> (Thumb, 188 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglecoil_rtu))
<P><STRONG><a name="[135]"></a>writesinglecoil_rtu</STRONG> (Thumb, 188 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglecoil_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 348<LI>Call Chain = writesinglecoil_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[145]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteOneCoilData
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[134]"></a>writesinglereg_rtu</STRONG> (Thumb, 176 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglereg_rtu))
<P><STRONG><a name="[132]"></a>writesinglereg_rtu</STRONG> (Thumb, 176 bytes, Stack size 136 bytes, modbus_rtu.o(i.writesinglereg_rtu))
<BR><BR>[Stack]<UL><LI>Max Depth = 348<LI>Call Chain = writesinglereg_rtu &rArr; modbus_errfunction_rtu &rArr; uart_send &rArr; HAL_UART_Transmit_DMA &rArr; HAL_DMA_Start_IT &rArr; DMA_SetConfig
</UL>
<BR>[Calls]<UL><LI><a href="#[13b]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<BR>[Calls]<UL><LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;uart_send
<LI><a href="#[136]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_errfunction_rtu
<LI><a href="#[146]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;WriteHoldRegData
<LI><a href="#[139]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[13a]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
<LI><a href="#[137]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;ModbusCRC16
<LI><a href="#[138]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;__aeabi_memcpy
</UL>
<BR>[Called By]<UL><LI><a href="#[12f]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
<BR>[Called By]<UL><LI><a href="#[12d]">&gt;&gt;</a>&nbsp;&nbsp;&nbsp;modbus_analysis_rtu
</UL>
<P><STRONG><a name="[186]"></a>__aeabi_dadd</STRONG> (Thumb, 0 bytes, Stack size 16 bytes, daddsub_clz.o(x$fpl$dadd), UNUSED)

View File

@ -69,8 +69,6 @@ Section Cross References
main.o(i.main) refers to modbus_rtu.o(i.modbus_rtu_init) for modbus_rtu_init
main.o(i.main) refers to eeprom.o(i.ee_io_init) for ee_io_init
main.o(i.main) refers to provalctrl.o(i.prov_init) for prov_init
main.o(i.main) refers to provalctrl.o(i.prov_adj_init) for prov_adj_init
main.o(i.main) refers to provalctrl.o(i.prov_adj_section_init) for prov_adj_section_init
main.o(i.main) refers to gpios.o(i.digital_ctrl) for digital_ctrl
main.o(i.main) refers to adcs.o(i.analog_gather) for analog_gather
main.o(i.main) refers to provalctrl.o(i.analog_ctrl) for analog_ctrl
@ -1564,12 +1562,11 @@ Section Cross References
provalctrl.o(i.prov_adj) refers to provalctrl.o(i.prov_adj_init) for prov_adj_init
provalctrl.o(i.prov_adj) refers to provalctrl.o(.bss) for data_wr
provalctrl.o(i.prov_adj) refers to modbus.o(.data) for CoilState
provalctrl.o(i.prov_adj_init) refers to provalctrl.o(.bss) for adj_pv1
provalctrl.o(i.prov_adj_section) refers to provalctrl.o(i.prov_set) for prov_set
provalctrl.o(i.prov_adj_section) refers to provalctrl.o(.data) for astep_s
provalctrl.o(i.prov_adj_section) refers to timer.o(.data) for tick500ms
provalctrl.o(i.prov_adj_section) refers to modbus.o(.bss) for InputReg
provalctrl.o(i.prov_adj_section_init) refers to provalctrl.o(.bss) for adj_pv1
provalctrl.o(i.prov_adj_section) refers to modbus.o(.data) for CoilState
provalctrl.o(i.prov_calibrate_pid) refers to provalctrl.o(i.abs_bias) for abs_bias
provalctrl.o(i.prov_calibrate_pid) refers to provalctrl.o(.data) for beta_in
provalctrl.o(i.prov_ctrl) refers to provalctrl.o(i.prov_adj_init) for prov_adj_init
@ -2653,7 +2650,7 @@ Removing Unused input sections from the image.
Removing provalctrl.o(.rev16_text), (4 bytes).
Removing provalctrl.o(.revsh_text), (4 bytes).
Removing provalctrl.o(.rrx_text), (6 bytes).
Removing provalctrl.o(i.prov_adj), (1684 bytes).
Removing provalctrl.o(i.prov_adj), (1688 bytes).
Removing encoder.o(.rev16_text), (4 bytes).
Removing encoder.o(.revsh_text), (4 bytes).
Removing encoder.o(.rrx_text), (6 bytes).
@ -2665,7 +2662,7 @@ Removing Unused input sections from the image.
Removing flash.o(i.STMFLASH_ReadWord), (6 bytes).
Removing flash.o(i.WriteFlashData), (176 bytes).
760 unused section(s) (total 82589 bytes) removed from the image.
760 unused section(s) (total 82593 bytes) removed from the image.
==============================================================================
@ -3184,63 +3181,63 @@ Image Symbol Table
i.i2c_waitack 0x08005d60 Section 0 eeprom.o(i.i2c_waitack)
i.led_ctrl 0x08005d98 Section 0 gpios.o(i.led_ctrl)
i.main 0x08005dbc Section 0 main.o(i.main)
i.mf5803_loop 0x08005e4c Section 0 mf5803.o(i.mf5803_loop)
i.mf5803_setup 0x08005ff4 Section 0 mf5803.o(i.mf5803_setup)
i.modbus_analysis_rtu 0x080060b4 Section 0 modbus_rtu.o(i.modbus_analysis_rtu)
i.modbus_errfunction_rtu 0x08006168 Section 0 modbus_rtu.o(i.modbus_errfunction_rtu)
i.modbus_process_rtu 0x080061e8 Section 0 modbus_rtu.o(i.modbus_process_rtu)
i.modbus_rtu_init 0x0800622c Section 0 modbus_rtu.o(i.modbus_rtu_init)
i.modbus_rx_cb 0x08006280 Section 0 modbus_rtu.o(i.modbus_rx_cb)
i.prov_adj_init 0x08006304 Section 0 provalctrl.o(i.prov_adj_init)
i.prov_adj_section 0x080063bc Section 0 provalctrl.o(i.prov_adj_section)
i.prov_adj_section_init 0x0800662c Section 0 provalctrl.o(i.prov_adj_section_init)
i.prov_calibrate_pid 0x080066b4 Section 0 provalctrl.o(i.prov_calibrate_pid)
i.prov_ctrl 0x08006a80 Section 0 provalctrl.o(i.prov_ctrl)
i.prov_init 0x08006af0 Section 0 provalctrl.o(i.prov_init)
i.prov_section_calculate 0x08006d90 Section 0 provalctrl.o(i.prov_section_calculate)
i.prov_set 0x08006e70 Section 0 provalctrl.o(i.prov_set)
i.readcoilstate_rtu 0x0800705c Section 0 modbus_rtu.o(i.readcoilstate_rtu)
i.readdisinputstate_rtu 0x080071ac Section 0 modbus_rtu.o(i.readdisinputstate_rtu)
i.readholdreg_rtu 0x080072f8 Section 0 modbus_rtu.o(i.readholdreg_rtu)
i.readinputreg_rtu 0x08007404 Section 0 modbus_rtu.o(i.readinputreg_rtu)
i.setcs 0x08007508 Section 0 ms5803.o(i.setcs)
i.tim6_cnt 0x08007570 Section 0 timer.o(i.tim6_cnt)
i.uart_send 0x0800777c Section 0 uarts.o(i.uart_send)
i.wf5803_ReadReg 0x08007790 Section 0 mf5803.o(i.wf5803_ReadReg)
i.wf5803_WriteReg 0x080077b2 Section 0 mf5803.o(i.wf5803_WriteReg)
i.writemulticoil_rtu 0x080077d4 Section 0 modbus_rtu.o(i.writemulticoil_rtu)
i.writemultireg_rtu 0x08007920 Section 0 modbus_rtu.o(i.writemultireg_rtu)
i.writesinglecoil_rtu 0x08007a24 Section 0 modbus_rtu.o(i.writesinglecoil_rtu)
i.writesinglereg_rtu 0x08007ae8 Section 0 modbus_rtu.o(i.writesinglereg_rtu)
x$fpl$dadd 0x08007ba0 Section 336 daddsub_clz.o(x$fpl$dadd)
$v0 0x08007ba0 Number 0 daddsub_clz.o(x$fpl$dadd)
_dadd1 0x08007bb1 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
x$fpl$ddiv 0x08007cf0 Section 688 ddiv.o(x$fpl$ddiv)
$v0 0x08007cf0 Number 0 ddiv.o(x$fpl$ddiv)
ddiv_entry 0x08007cf7 Thumb Code 0 ddiv.o(x$fpl$ddiv)
x$fpl$dfix 0x08007fa0 Section 94 dfix.o(x$fpl$dfix)
$v0 0x08007fa0 Number 0 dfix.o(x$fpl$dfix)
x$fpl$dfixu 0x08008000 Section 90 dfixu.o(x$fpl$dfixu)
$v0 0x08008000 Number 0 dfixu.o(x$fpl$dfixu)
x$fpl$dflt 0x0800805a Section 46 dflt_clz.o(x$fpl$dflt)
$v0 0x0800805a Number 0 dflt_clz.o(x$fpl$dflt)
x$fpl$dfltll 0x08008088 Section 162 dfltll_clz.o(x$fpl$dfltll)
$v0 0x08008088 Number 0 dfltll_clz.o(x$fpl$dfltll)
x$fpl$dmul 0x0800812c Section 340 dmul.o(x$fpl$dmul)
$v0 0x0800812c Number 0 dmul.o(x$fpl$dmul)
x$fpl$dnaninf 0x08008280 Section 156 dnaninf.o(x$fpl$dnaninf)
$v0 0x08008280 Number 0 dnaninf.o(x$fpl$dnaninf)
x$fpl$dretinf 0x0800831c Section 12 dretinf.o(x$fpl$dretinf)
$v0 0x0800831c Number 0 dretinf.o(x$fpl$dretinf)
x$fpl$dsub 0x08008328 Section 468 daddsub_clz.o(x$fpl$dsub)
$v0 0x08008328 Number 0 daddsub_clz.o(x$fpl$dsub)
_dsub1 0x08008339 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
x$fpl$fpinit 0x080084fc Section 10 fpinit.o(x$fpl$fpinit)
$v0 0x080084fc Number 0 fpinit.o(x$fpl$fpinit)
.constdata 0x08008506 Section 8 stm32f4xx_hal_dma.o(.constdata)
x$fpl$usenofp 0x08008506 Section 0 usenofp.o(x$fpl$usenofp)
flagBitshiftOffset 0x08008506 Data 8 stm32f4xx_hal_dma.o(.constdata)
.constdata 0x0800850e Section 24 system_stm32f4xx.o(.constdata)
i.mf5803_loop 0x08005e44 Section 0 mf5803.o(i.mf5803_loop)
i.mf5803_setup 0x08005fec Section 0 mf5803.o(i.mf5803_setup)
i.modbus_analysis_rtu 0x080060ac Section 0 modbus_rtu.o(i.modbus_analysis_rtu)
i.modbus_errfunction_rtu 0x08006160 Section 0 modbus_rtu.o(i.modbus_errfunction_rtu)
i.modbus_process_rtu 0x080061e0 Section 0 modbus_rtu.o(i.modbus_process_rtu)
i.modbus_rtu_init 0x08006224 Section 0 modbus_rtu.o(i.modbus_rtu_init)
i.modbus_rx_cb 0x08006278 Section 0 modbus_rtu.o(i.modbus_rx_cb)
i.prov_adj_init 0x080062fc Section 0 provalctrl.o(i.prov_adj_init)
i.prov_adj_section 0x08006354 Section 0 provalctrl.o(i.prov_adj_section)
i.prov_adj_section_init 0x080065dc Section 0 provalctrl.o(i.prov_adj_section_init)
i.prov_calibrate_pid 0x08006620 Section 0 provalctrl.o(i.prov_calibrate_pid)
i.prov_ctrl 0x080069ec Section 0 provalctrl.o(i.prov_ctrl)
i.prov_init 0x08006a60 Section 0 provalctrl.o(i.prov_init)
i.prov_section_calculate 0x08006d00 Section 0 provalctrl.o(i.prov_section_calculate)
i.prov_set 0x08006de0 Section 0 provalctrl.o(i.prov_set)
i.readcoilstate_rtu 0x08006fcc Section 0 modbus_rtu.o(i.readcoilstate_rtu)
i.readdisinputstate_rtu 0x0800711c Section 0 modbus_rtu.o(i.readdisinputstate_rtu)
i.readholdreg_rtu 0x08007268 Section 0 modbus_rtu.o(i.readholdreg_rtu)
i.readinputreg_rtu 0x08007374 Section 0 modbus_rtu.o(i.readinputreg_rtu)
i.setcs 0x08007478 Section 0 ms5803.o(i.setcs)
i.tim6_cnt 0x080074e0 Section 0 timer.o(i.tim6_cnt)
i.uart_send 0x080076ec Section 0 uarts.o(i.uart_send)
i.wf5803_ReadReg 0x08007700 Section 0 mf5803.o(i.wf5803_ReadReg)
i.wf5803_WriteReg 0x08007722 Section 0 mf5803.o(i.wf5803_WriteReg)
i.writemulticoil_rtu 0x08007744 Section 0 modbus_rtu.o(i.writemulticoil_rtu)
i.writemultireg_rtu 0x08007890 Section 0 modbus_rtu.o(i.writemultireg_rtu)
i.writesinglecoil_rtu 0x08007994 Section 0 modbus_rtu.o(i.writesinglecoil_rtu)
i.writesinglereg_rtu 0x08007a58 Section 0 modbus_rtu.o(i.writesinglereg_rtu)
x$fpl$dadd 0x08007b10 Section 336 daddsub_clz.o(x$fpl$dadd)
$v0 0x08007b10 Number 0 daddsub_clz.o(x$fpl$dadd)
_dadd1 0x08007b21 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
x$fpl$ddiv 0x08007c60 Section 688 ddiv.o(x$fpl$ddiv)
$v0 0x08007c60 Number 0 ddiv.o(x$fpl$ddiv)
ddiv_entry 0x08007c67 Thumb Code 0 ddiv.o(x$fpl$ddiv)
x$fpl$dfix 0x08007f10 Section 94 dfix.o(x$fpl$dfix)
$v0 0x08007f10 Number 0 dfix.o(x$fpl$dfix)
x$fpl$dfixu 0x08007f70 Section 90 dfixu.o(x$fpl$dfixu)
$v0 0x08007f70 Number 0 dfixu.o(x$fpl$dfixu)
x$fpl$dflt 0x08007fca Section 46 dflt_clz.o(x$fpl$dflt)
$v0 0x08007fca Number 0 dflt_clz.o(x$fpl$dflt)
x$fpl$dfltll 0x08007ff8 Section 162 dfltll_clz.o(x$fpl$dfltll)
$v0 0x08007ff8 Number 0 dfltll_clz.o(x$fpl$dfltll)
x$fpl$dmul 0x0800809c Section 340 dmul.o(x$fpl$dmul)
$v0 0x0800809c Number 0 dmul.o(x$fpl$dmul)
x$fpl$dnaninf 0x080081f0 Section 156 dnaninf.o(x$fpl$dnaninf)
$v0 0x080081f0 Number 0 dnaninf.o(x$fpl$dnaninf)
x$fpl$dretinf 0x0800828c Section 12 dretinf.o(x$fpl$dretinf)
$v0 0x0800828c Number 0 dretinf.o(x$fpl$dretinf)
x$fpl$dsub 0x08008298 Section 468 daddsub_clz.o(x$fpl$dsub)
$v0 0x08008298 Number 0 daddsub_clz.o(x$fpl$dsub)
_dsub1 0x080082a9 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
x$fpl$fpinit 0x0800846c Section 10 fpinit.o(x$fpl$fpinit)
$v0 0x0800846c Number 0 fpinit.o(x$fpl$fpinit)
.constdata 0x08008476 Section 8 stm32f4xx_hal_dma.o(.constdata)
x$fpl$usenofp 0x08008476 Section 0 usenofp.o(x$fpl$usenofp)
flagBitshiftOffset 0x08008476 Data 8 stm32f4xx_hal_dma.o(.constdata)
.constdata 0x0800847e Section 24 system_stm32f4xx.o(.constdata)
.data 0x20000000 Section 9 stm32f4xx_hal.o(.data)
.data 0x2000000c Section 4 system_stm32f4xx.o(.data)
.data 0x20000010 Section 24 ads1256.o(.data)
@ -3638,61 +3635,61 @@ Image Symbol Table
i2c_stop 0x08005d3d Thumb Code 30 eeprom.o(i.i2c_stop)
i2c_waitack 0x08005d61 Thumb Code 50 eeprom.o(i.i2c_waitack)
led_ctrl 0x08005d99 Thumb Code 26 gpios.o(i.led_ctrl)
main 0x08005dbd Thumb Code 138 main.o(i.main)
mf5803_loop 0x08005e4d Thumb Code 376 mf5803.o(i.mf5803_loop)
mf5803_setup 0x08005ff5 Thumb Code 184 mf5803.o(i.mf5803_setup)
modbus_analysis_rtu 0x080060b5 Thumb Code 180 modbus_rtu.o(i.modbus_analysis_rtu)
modbus_errfunction_rtu 0x08006169 Thumb Code 118 modbus_rtu.o(i.modbus_errfunction_rtu)
modbus_process_rtu 0x080061e9 Thumb Code 64 modbus_rtu.o(i.modbus_process_rtu)
modbus_rtu_init 0x0800622d Thumb Code 58 modbus_rtu.o(i.modbus_rtu_init)
modbus_rx_cb 0x08006281 Thumb Code 98 modbus_rtu.o(i.modbus_rx_cb)
prov_adj_init 0x08006305 Thumb Code 168 provalctrl.o(i.prov_adj_init)
prov_adj_section 0x080063bd Thumb Code 576 provalctrl.o(i.prov_adj_section)
prov_adj_section_init 0x0800662d Thumb Code 122 provalctrl.o(i.prov_adj_section_init)
prov_calibrate_pid 0x080066b5 Thumb Code 944 provalctrl.o(i.prov_calibrate_pid)
prov_ctrl 0x08006a81 Thumb Code 102 provalctrl.o(i.prov_ctrl)
prov_init 0x08006af1 Thumb Code 634 provalctrl.o(i.prov_init)
prov_section_calculate 0x08006d91 Thumb Code 218 provalctrl.o(i.prov_section_calculate)
prov_set 0x08006e71 Thumb Code 472 provalctrl.o(i.prov_set)
readcoilstate_rtu 0x0800705d Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu)
readdisinputstate_rtu 0x080071ad Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu)
readholdreg_rtu 0x080072f9 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu)
readinputreg_rtu 0x08007405 Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu)
setcs 0x08007509 Thumb Code 86 ms5803.o(i.setcs)
tim6_cnt 0x08007571 Thumb Code 420 timer.o(i.tim6_cnt)
uart_send 0x0800777d Thumb Code 20 uarts.o(i.uart_send)
wf5803_ReadReg 0x08007791 Thumb Code 34 mf5803.o(i.wf5803_ReadReg)
wf5803_WriteReg 0x080077b3 Thumb Code 34 mf5803.o(i.wf5803_WriteReg)
writemulticoil_rtu 0x080077d5 Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu)
writemultireg_rtu 0x08007921 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu)
writesinglecoil_rtu 0x08007a25 Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu)
writesinglereg_rtu 0x08007ae9 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu)
__aeabi_dadd 0x08007ba1 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
_dadd 0x08007ba1 Thumb Code 332 daddsub_clz.o(x$fpl$dadd)
__aeabi_ddiv 0x08007cf1 Thumb Code 0 ddiv.o(x$fpl$ddiv)
_ddiv 0x08007cf1 Thumb Code 552 ddiv.o(x$fpl$ddiv)
__aeabi_d2iz 0x08007fa1 Thumb Code 0 dfix.o(x$fpl$dfix)
_dfix 0x08007fa1 Thumb Code 94 dfix.o(x$fpl$dfix)
__aeabi_d2uiz 0x08008001 Thumb Code 0 dfixu.o(x$fpl$dfixu)
_dfixu 0x08008001 Thumb Code 90 dfixu.o(x$fpl$dfixu)
__aeabi_i2d 0x0800805b Thumb Code 0 dflt_clz.o(x$fpl$dflt)
_dflt 0x0800805b Thumb Code 46 dflt_clz.o(x$fpl$dflt)
__aeabi_l2d 0x08008089 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll)
_ll_sto_d 0x08008089 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll)
__aeabi_dmul 0x0800812d Thumb Code 0 dmul.o(x$fpl$dmul)
_dmul 0x0800812d Thumb Code 332 dmul.o(x$fpl$dmul)
__fpl_dnaninf 0x08008281 Thumb Code 156 dnaninf.o(x$fpl$dnaninf)
__fpl_dretinf 0x0800831d Thumb Code 12 dretinf.o(x$fpl$dretinf)
__aeabi_dsub 0x08008329 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
_dsub 0x08008329 Thumb Code 464 daddsub_clz.o(x$fpl$dsub)
_fp_init 0x080084fd Thumb Code 10 fpinit.o(x$fpl$fpinit)
__fplib_config_fpu_vfp 0x08008505 Thumb Code 0 fpinit.o(x$fpl$fpinit)
__fplib_config_pureend_doubles 0x08008505 Thumb Code 0 fpinit.o(x$fpl$fpinit)
__I$use$fp 0x08008506 Number 0 usenofp.o(x$fpl$usenofp)
AHBPrescTable 0x0800850e Data 16 system_stm32f4xx.o(.constdata)
APBPrescTable 0x0800851e Data 8 system_stm32f4xx.o(.constdata)
Region$$Table$$Base 0x08008528 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x08008548 Number 0 anon$$obj.o(Region$$Table)
main 0x08005dbd Thumb Code 130 main.o(i.main)
mf5803_loop 0x08005e45 Thumb Code 376 mf5803.o(i.mf5803_loop)
mf5803_setup 0x08005fed Thumb Code 184 mf5803.o(i.mf5803_setup)
modbus_analysis_rtu 0x080060ad Thumb Code 180 modbus_rtu.o(i.modbus_analysis_rtu)
modbus_errfunction_rtu 0x08006161 Thumb Code 118 modbus_rtu.o(i.modbus_errfunction_rtu)
modbus_process_rtu 0x080061e1 Thumb Code 64 modbus_rtu.o(i.modbus_process_rtu)
modbus_rtu_init 0x08006225 Thumb Code 58 modbus_rtu.o(i.modbus_rtu_init)
modbus_rx_cb 0x08006279 Thumb Code 98 modbus_rtu.o(i.modbus_rx_cb)
prov_adj_init 0x080062fd Thumb Code 80 provalctrl.o(i.prov_adj_init)
prov_adj_section 0x08006355 Thumb Code 600 provalctrl.o(i.prov_adj_section)
prov_adj_section_init 0x080065dd Thumb Code 64 provalctrl.o(i.prov_adj_section_init)
prov_calibrate_pid 0x08006621 Thumb Code 944 provalctrl.o(i.prov_calibrate_pid)
prov_ctrl 0x080069ed Thumb Code 108 provalctrl.o(i.prov_ctrl)
prov_init 0x08006a61 Thumb Code 634 provalctrl.o(i.prov_init)
prov_section_calculate 0x08006d01 Thumb Code 218 provalctrl.o(i.prov_section_calculate)
prov_set 0x08006de1 Thumb Code 472 provalctrl.o(i.prov_set)
readcoilstate_rtu 0x08006fcd Thumb Code 326 modbus_rtu.o(i.readcoilstate_rtu)
readdisinputstate_rtu 0x0800711d Thumb Code 322 modbus_rtu.o(i.readdisinputstate_rtu)
readholdreg_rtu 0x08007269 Thumb Code 258 modbus_rtu.o(i.readholdreg_rtu)
readinputreg_rtu 0x08007375 Thumb Code 252 modbus_rtu.o(i.readinputreg_rtu)
setcs 0x08007479 Thumb Code 86 ms5803.o(i.setcs)
tim6_cnt 0x080074e1 Thumb Code 420 timer.o(i.tim6_cnt)
uart_send 0x080076ed Thumb Code 20 uarts.o(i.uart_send)
wf5803_ReadReg 0x08007701 Thumb Code 34 mf5803.o(i.wf5803_ReadReg)
wf5803_WriteReg 0x08007723 Thumb Code 34 mf5803.o(i.wf5803_WriteReg)
writemulticoil_rtu 0x08007745 Thumb Code 322 modbus_rtu.o(i.writemulticoil_rtu)
writemultireg_rtu 0x08007891 Thumb Code 252 modbus_rtu.o(i.writemultireg_rtu)
writesinglecoil_rtu 0x08007995 Thumb Code 188 modbus_rtu.o(i.writesinglecoil_rtu)
writesinglereg_rtu 0x08007a59 Thumb Code 176 modbus_rtu.o(i.writesinglereg_rtu)
__aeabi_dadd 0x08007b11 Thumb Code 0 daddsub_clz.o(x$fpl$dadd)
_dadd 0x08007b11 Thumb Code 332 daddsub_clz.o(x$fpl$dadd)
__aeabi_ddiv 0x08007c61 Thumb Code 0 ddiv.o(x$fpl$ddiv)
_ddiv 0x08007c61 Thumb Code 552 ddiv.o(x$fpl$ddiv)
__aeabi_d2iz 0x08007f11 Thumb Code 0 dfix.o(x$fpl$dfix)
_dfix 0x08007f11 Thumb Code 94 dfix.o(x$fpl$dfix)
__aeabi_d2uiz 0x08007f71 Thumb Code 0 dfixu.o(x$fpl$dfixu)
_dfixu 0x08007f71 Thumb Code 90 dfixu.o(x$fpl$dfixu)
__aeabi_i2d 0x08007fcb Thumb Code 0 dflt_clz.o(x$fpl$dflt)
_dflt 0x08007fcb Thumb Code 46 dflt_clz.o(x$fpl$dflt)
__aeabi_l2d 0x08007ff9 Thumb Code 0 dfltll_clz.o(x$fpl$dfltll)
_ll_sto_d 0x08007ff9 Thumb Code 162 dfltll_clz.o(x$fpl$dfltll)
__aeabi_dmul 0x0800809d Thumb Code 0 dmul.o(x$fpl$dmul)
_dmul 0x0800809d Thumb Code 332 dmul.o(x$fpl$dmul)
__fpl_dnaninf 0x080081f1 Thumb Code 156 dnaninf.o(x$fpl$dnaninf)
__fpl_dretinf 0x0800828d Thumb Code 12 dretinf.o(x$fpl$dretinf)
__aeabi_dsub 0x08008299 Thumb Code 0 daddsub_clz.o(x$fpl$dsub)
_dsub 0x08008299 Thumb Code 464 daddsub_clz.o(x$fpl$dsub)
_fp_init 0x0800846d Thumb Code 10 fpinit.o(x$fpl$fpinit)
__fplib_config_fpu_vfp 0x08008475 Thumb Code 0 fpinit.o(x$fpl$fpinit)
__fplib_config_pureend_doubles 0x08008475 Thumb Code 0 fpinit.o(x$fpl$fpinit)
__I$use$fp 0x08008476 Number 0 usenofp.o(x$fpl$usenofp)
AHBPrescTable 0x0800847e Data 16 system_stm32f4xx.o(.constdata)
APBPrescTable 0x0800848e Data 8 system_stm32f4xx.o(.constdata)
Region$$Table$$Base 0x08008498 Number 0 anon$$obj.o(Region$$Table)
Region$$Table$$Limit 0x080084b8 Number 0 anon$$obj.o(Region$$Table)
uwTick 0x20000000 Data 4 stm32f4xx_hal.o(.data)
uwTickPrio 0x20000004 Data 4 stm32f4xx_hal.o(.data)
uwTickFreq 0x20000008 Data 1 stm32f4xx_hal.o(.data)
@ -3819,9 +3816,9 @@ Memory Map of the image
Image Entry point : 0x08000189
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000086e8, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x00008568])
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00008658, Max: 0x00100000, ABSOLUTE, COMPRESSED[0x000084d8])
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00008548, Max: 0x00100000, ABSOLUTE)
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000084b8, Max: 0x00100000, ABSOLUTE)
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -4096,56 +4093,56 @@ Memory Map of the image
0x08005d3c 0x08005d3c 0x00000024 Code RO 4640 i.i2c_stop eeprom.o
0x08005d60 0x08005d60 0x00000038 Code RO 4641 i.i2c_waitack eeprom.o
0x08005d98 0x08005d98 0x00000024 Code RO 5833 i.led_ctrl gpios.o
0x08005dbc 0x08005dbc 0x00000090 Code RO 18 i.main main.o
0x08005e4c 0x08005e4c 0x000001a8 Code RO 4968 i.mf5803_loop mf5803.o
0x08005ff4 0x08005ff4 0x000000c0 Code RO 4969 i.mf5803_setup mf5803.o
0x080060b4 0x080060b4 0x000000b4 Code RO 5108 i.modbus_analysis_rtu modbus_rtu.o
0x08006168 0x08006168 0x00000080 Code RO 5109 i.modbus_errfunction_rtu modbus_rtu.o
0x080061e8 0x080061e8 0x00000044 Code RO 5110 i.modbus_process_rtu modbus_rtu.o
0x0800622c 0x0800622c 0x00000054 Code RO 5111 i.modbus_rtu_init modbus_rtu.o
0x08006280 0x08006280 0x00000084 Code RO 5112 i.modbus_rx_cb modbus_rtu.o
0x08006304 0x08006304 0x000000b8 Code RO 5965 i.prov_adj_init provalctrl.o
0x080063bc 0x080063bc 0x00000270 Code RO 5966 i.prov_adj_section provalctrl.o
0x0800662c 0x0800662c 0x00000088 Code RO 5967 i.prov_adj_section_init provalctrl.o
0x080066b4 0x080066b4 0x000003cc Code RO 5968 i.prov_calibrate_pid provalctrl.o
0x08006a80 0x08006a80 0x00000070 Code RO 5969 i.prov_ctrl provalctrl.o
0x08006af0 0x08006af0 0x000002a0 Code RO 5970 i.prov_init provalctrl.o
0x08006d90 0x08006d90 0x000000e0 Code RO 5971 i.prov_section_calculate provalctrl.o
0x08006e70 0x08006e70 0x000001ec Code RO 5972 i.prov_set provalctrl.o
0x0800705c 0x0800705c 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o
0x080071ac 0x080071ac 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o
0x080072f8 0x080072f8 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o
0x08007404 0x08007404 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o
0x08007508 0x08007508 0x00000068 Code RO 4749 i.setcs ms5803.o
0x08007570 0x08007570 0x0000020c Code RO 5867 i.tim6_cnt timer.o
0x0800777c 0x0800777c 0x00000014 Code RO 5910 i.uart_send uarts.o
0x08007790 0x08007790 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o
0x080077b2 0x080077b2 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o
0x080077d4 0x080077d4 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o
0x08007920 0x08007920 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o
0x08007a24 0x08007a24 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o
0x08007ae8 0x08007ae8 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o
0x08007ba0 0x08007ba0 0x00000150 Code RO 6215 x$fpl$dadd fz_wm.l(daddsub_clz.o)
0x08007cf0 0x08007cf0 0x000002b0 Code RO 6222 x$fpl$ddiv fz_wm.l(ddiv.o)
0x08007fa0 0x08007fa0 0x0000005e Code RO 6225 x$fpl$dfix fz_wm.l(dfix.o)
0x08007ffe 0x08007ffe 0x00000002 PAD
0x08008000 0x08008000 0x0000005a Code RO 6233 x$fpl$dfixu fz_wm.l(dfixu.o)
0x0800805a 0x0800805a 0x0000002e Code RO 6238 x$fpl$dflt fz_wm.l(dflt_clz.o)
0x08008088 0x08008088 0x000000a2 Code RO 6243 x$fpl$dfltll fz_wm.l(dfltll_clz.o)
0x0800812a 0x0800812a 0x00000002 PAD
0x0800812c 0x0800812c 0x00000154 Code RO 6247 x$fpl$dmul fz_wm.l(dmul.o)
0x08008280 0x08008280 0x0000009c Code RO 6279 x$fpl$dnaninf fz_wm.l(dnaninf.o)
0x0800831c 0x0800831c 0x0000000c Code RO 6281 x$fpl$dretinf fz_wm.l(dretinf.o)
0x08008328 0x08008328 0x000001d4 Code RO 6217 x$fpl$dsub fz_wm.l(daddsub_clz.o)
0x080084fc 0x080084fc 0x0000000a Code RO 6450 x$fpl$fpinit fz_wm.l(fpinit.o)
0x08008506 0x08008506 0x00000000 Code RO 6287 x$fpl$usenofp fz_wm.l(usenofp.o)
0x08008506 0x08008506 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o
0x0800850e 0x0800850e 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o
0x08008526 0x08008526 0x00000002 PAD
0x08008528 0x08008528 0x00000020 Data RO 6506 Region$$Table anon$$obj.o
0x08005dbc 0x08005dbc 0x00000088 Code RO 18 i.main main.o
0x08005e44 0x08005e44 0x000001a8 Code RO 4968 i.mf5803_loop mf5803.o
0x08005fec 0x08005fec 0x000000c0 Code RO 4969 i.mf5803_setup mf5803.o
0x080060ac 0x080060ac 0x000000b4 Code RO 5108 i.modbus_analysis_rtu modbus_rtu.o
0x08006160 0x08006160 0x00000080 Code RO 5109 i.modbus_errfunction_rtu modbus_rtu.o
0x080061e0 0x080061e0 0x00000044 Code RO 5110 i.modbus_process_rtu modbus_rtu.o
0x08006224 0x08006224 0x00000054 Code RO 5111 i.modbus_rtu_init modbus_rtu.o
0x08006278 0x08006278 0x00000084 Code RO 5112 i.modbus_rx_cb modbus_rtu.o
0x080062fc 0x080062fc 0x00000058 Code RO 5965 i.prov_adj_init provalctrl.o
0x08006354 0x08006354 0x00000288 Code RO 5966 i.prov_adj_section provalctrl.o
0x080065dc 0x080065dc 0x00000044 Code RO 5967 i.prov_adj_section_init provalctrl.o
0x08006620 0x08006620 0x000003cc Code RO 5968 i.prov_calibrate_pid provalctrl.o
0x080069ec 0x080069ec 0x00000074 Code RO 5969 i.prov_ctrl provalctrl.o
0x08006a60 0x08006a60 0x000002a0 Code RO 5970 i.prov_init provalctrl.o
0x08006d00 0x08006d00 0x000000e0 Code RO 5971 i.prov_section_calculate provalctrl.o
0x08006de0 0x08006de0 0x000001ec Code RO 5972 i.prov_set provalctrl.o
0x08006fcc 0x08006fcc 0x00000150 Code RO 5113 i.readcoilstate_rtu modbus_rtu.o
0x0800711c 0x0800711c 0x0000014c Code RO 5114 i.readdisinputstate_rtu modbus_rtu.o
0x08007268 0x08007268 0x0000010c Code RO 5115 i.readholdreg_rtu modbus_rtu.o
0x08007374 0x08007374 0x00000104 Code RO 5116 i.readinputreg_rtu modbus_rtu.o
0x08007478 0x08007478 0x00000068 Code RO 4749 i.setcs ms5803.o
0x080074e0 0x080074e0 0x0000020c Code RO 5867 i.tim6_cnt timer.o
0x080076ec 0x080076ec 0x00000014 Code RO 5910 i.uart_send uarts.o
0x08007700 0x08007700 0x00000022 Code RO 4970 i.wf5803_ReadReg mf5803.o
0x08007722 0x08007722 0x00000022 Code RO 4972 i.wf5803_WriteReg mf5803.o
0x08007744 0x08007744 0x0000014c Code RO 5117 i.writemulticoil_rtu modbus_rtu.o
0x08007890 0x08007890 0x00000104 Code RO 5118 i.writemultireg_rtu modbus_rtu.o
0x08007994 0x08007994 0x000000c4 Code RO 5119 i.writesinglecoil_rtu modbus_rtu.o
0x08007a58 0x08007a58 0x000000b8 Code RO 5120 i.writesinglereg_rtu modbus_rtu.o
0x08007b10 0x08007b10 0x00000150 Code RO 6215 x$fpl$dadd fz_wm.l(daddsub_clz.o)
0x08007c60 0x08007c60 0x000002b0 Code RO 6222 x$fpl$ddiv fz_wm.l(ddiv.o)
0x08007f10 0x08007f10 0x0000005e Code RO 6225 x$fpl$dfix fz_wm.l(dfix.o)
0x08007f6e 0x08007f6e 0x00000002 PAD
0x08007f70 0x08007f70 0x0000005a Code RO 6233 x$fpl$dfixu fz_wm.l(dfixu.o)
0x08007fca 0x08007fca 0x0000002e Code RO 6238 x$fpl$dflt fz_wm.l(dflt_clz.o)
0x08007ff8 0x08007ff8 0x000000a2 Code RO 6243 x$fpl$dfltll fz_wm.l(dfltll_clz.o)
0x0800809a 0x0800809a 0x00000002 PAD
0x0800809c 0x0800809c 0x00000154 Code RO 6247 x$fpl$dmul fz_wm.l(dmul.o)
0x080081f0 0x080081f0 0x0000009c Code RO 6279 x$fpl$dnaninf fz_wm.l(dnaninf.o)
0x0800828c 0x0800828c 0x0000000c Code RO 6281 x$fpl$dretinf fz_wm.l(dretinf.o)
0x08008298 0x08008298 0x000001d4 Code RO 6217 x$fpl$dsub fz_wm.l(daddsub_clz.o)
0x0800846c 0x0800846c 0x0000000a Code RO 6450 x$fpl$fpinit fz_wm.l(fpinit.o)
0x08008476 0x08008476 0x00000000 Code RO 6287 x$fpl$usenofp fz_wm.l(usenofp.o)
0x08008476 0x08008476 0x00000008 Data RO 1572 .constdata stm32f4xx_hal_dma.o
0x0800847e 0x0800847e 0x00000018 Data RO 4417 .constdata system_stm32f4xx.o
0x08008496 0x08008496 0x00000002 PAD
0x08008498 0x08008498 0x00000020 Data RO 6506 Region$$Table anon$$obj.o
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08008548, Size: 0x00001c80, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020])
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080084b8, Size: 0x00001c80, Max: 0x0001c000, ABSOLUTE, COMPRESSED[0x00000020])
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
@ -4186,7 +4183,7 @@ Memory Map of the image
0x20001880 - 0x00000400 Zero RW 1 STACK startup_stm32f407xx.o
Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x08008568, Size: 0x00000000, Max: 0x00004000, ABSOLUTE)
Execution Region RW_IRAM2 (Exec base: 0x2001c000, Load base: 0x080084d8, Size: 0x00000000, Max: 0x00004000, ABSOLUTE)
**** No section assigned to this execution region ****
@ -4212,12 +4209,12 @@ Image component sizes
152 12 0 0 0 1213 hc165.o
152 16 0 0 0 1206 hc595.o
196 26 0 0 84 1849 i2c.o
450 22 0 0 0 724935 main.o
442 22 0 0 0 724927 main.o
968 70 0 25 480 5526 mf5803.o
358 32 0 110 196 7180 modbus.o
2760 146 0 0 2048 13994 modbus_rtu.o
256 50 0 17 0 3199 ms5803.o
4244 264 0 42 632 16315 provalctrl.o
4108 244 0 42 632 16283 provalctrl.o
204 22 0 0 88 1861 spi.o
64 26 392 0 1536 892 startup_stm32f407xx.o
212 36 0 9 0 9777 stm32f4xx_hal.o
@ -4240,7 +4237,7 @@ Image component sizes
1288 114 0 0 840 5222 usart.o
----------------------------------------------------------------------
30296 2052 458 416 6784 952042 Object Totals
30152 2032 458 416 6784 952002 Object Totals
0 0 32 0 0 0 (incl. Generated)
32 0 2 12 3 0 (incl. Padding)
@ -4305,15 +4302,15 @@ Image component sizes
Code (inc. data) RO Data RW Data ZI Data Debug
33662 2244 458 416 6880 931890 Grand Totals
33662 2244 458 32 6880 931890 ELF Image Totals (compressed)
33662 2244 458 32 0 0 ROM Totals
33518 2224 458 416 6880 931850 Grand Totals
33518 2224 458 32 6880 931850 ELF Image Totals (compressed)
33518 2224 458 32 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 34120 ( 33.32kB)
Total RO Size (Code + RO Data) 33976 ( 33.18kB)
Total RW Size (RW Data + ZI Data) 7296 ( 7.13kB)
Total ROM Size (Code + RO Data + RW Data) 34152 ( 33.35kB)
Total ROM Size (Code + RO Data + RW Data) 34008 ( 33.21kB)
==============================================================================

View File

@ -1,7 +1,7 @@
Dependencies for Project 'VOQC', Target 'VOQC': (DO NOT MODIFY !)
CompilerVersion: 5060960::V5.06 update 7 (build 960)::.\ARM Compiler_5_06
F (startup_stm32f407xx.s)(0x66C2E5B4)(--cpu Cortex-M4.fp.sp -g --apcs=interwork -I.\RTE\_VOQC -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include --pd "__UVISION_VERSION SETA 539" --pd "_RTE_ SETA 1" --pd "STM32F407xx SETA 1" --pd "_RTE_ SETA 1" --list startup_stm32f407xx.lst --xref -o voqc\startup_stm32f407xx.o --depend voqc\startup_stm32f407xx.d)
F (../Core/Src/main.c)(0x66E24B95)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\main.o --omf_browse voqc\main.crf --depend voqc\main.d)
F (../Core/Src/main.c)(0x66EA684F)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\main.o --omf_browse voqc\main.crf --depend voqc\main.d)
I (../Core/Inc/main.h)(0x6694D721)
I (../Drivers/STM32F4xx_HAL_Driver/Inc/stm32f4xx_hal.h)(0x66B41EAC)
I (../Core/Inc/stm32f4xx_hal_conf.h)(0x66C2E5B0)
@ -66,7 +66,7 @@ I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compile
I (../board/Inc/ms5803.h)(0x669760FF)
I (../board/Inc/ds18b20.h)(0x6694D35E)
I (../board/Inc/dac7311.h)(0x66949B65)
I (../users/Inc/provalctrl.h)(0x66E255E4)
I (../users/Inc/provalctrl.h)(0x66EA684F)
I (../board/Inc/eeprom.h)(0x66CE9587)
F (../Core/Src/gpio.c)(0x66C2E5A9)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\gpio.o --omf_browse voqc\gpio.crf --depend voqc\gpio.d)
I (../Core/Inc/gpio.h)(0x668F85FA)
@ -1429,7 +1429,7 @@ I (../CH395Q/ch395inc.h)(0x66C443B0)
I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\string.h)(0x5E8E3CC2)
I (../users/Inc/provalctrl.h)(0x66E255E4)
I (../users/Inc/provalctrl.h)(0x66EA684F)
I (../board/Inc/dac7311.h)(0x66949B65)
I (../board/Inc/eeprom.h)(0x66CE9587)
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\math.h)(0x5E8E3CC2)
@ -2243,8 +2243,8 @@ I (../Core/Inc/spi.h)(0x668F85FC)
I (../CH395Q/ch395cmd.h)(0x664FF969)
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\string.h)(0x5E8E3CC2)
I (C:\Users\admin\Desktop\wujunchao\99_General softwares\Keil_v5\ARM\ARM Compiler_5_06\include\stdio.h)(0x5E8E3CC2)
F (..\users\Src\provalctrl.c)(0x66E2561E)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\provalctrl.o --omf_browse voqc\provalctrl.crf --depend voqc\provalctrl.d)
I (../users/Inc/provalctrl.h)(0x66E255E4)
F (..\users\Src\provalctrl.c)(0x66EA684F)(--c99 -c --cpu Cortex-M4.fp.sp -g -O0 -Otime --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc -I ../Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F4xx/Include -I ../Drivers/CMSIS/Include -I ../board/Inc -I ../CH395Q -I ../modbus/Inc -I ../users/Inc -I.\RTE\_VOQC -IC:\Users\admin\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\admin\AppData\Local\Arm\Packs\Keil\STM32F4xx_DFP\2.15.0\Drivers\CMSIS\Device\ST\STM32F4xx\Include -D__UVISION_VERSION="539" -D_RTE_ -DSTM32F407xx -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F407xx -o voqc\provalctrl.o --omf_browse voqc\provalctrl.crf --depend voqc\provalctrl.d)
I (../users/Inc/provalctrl.h)(0x66EA684F)
I (../modbus/Inc/modbus.h)(0x66CEC5B0)
I (../users/Inc/timer.h)(0x66E24B97)
I (../Core/Inc/tim.h)(0x6694D67D)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -114,8 +114,8 @@ typedef struct
void prov_init(void);
void prov_adj_init(void);
void prov_adj_section_init(void);
void prov_adj_init(prov_adjust *adj_pvx);
void prov_adj_section_init(prov_adjust *adj_pvx);
void prov_set(float target_p, propotion_valve *pvx);
void prov_ctrl(propotion_valve *pvx, prov_adjust *adj_pvx);
void prov_calibrate_pid(propotion_valve *pvx);

View File

@ -104,31 +104,19 @@ void prov_init(void) //不同比例阀的初始参数不一样
prov_adjust adj_pv1;
prov_adjust adj_pv2;
void prov_adj_init(void)
void prov_adj_init(prov_adjust *adj_pvx)
{
adj_pv1.adj_flag = 0; //自整定标志0空闲1整定中
adj_pvx->adj_flag = 0; //自整定标志0空闲1整定中
for( uint8_t i = 0;i < OSCILL_TIMES;i++) //继电整定,振荡幅值,振荡周期
{
adj_pv1.relay_a[i] = 0;
adj_pv1.relay_tc[i] = 0;
adj_pvx->relay_a[i] = 0;
adj_pvx->relay_tc[i] = 0;
}
adj_pv1.relay_d = 0.15; //继电整定,回环幅值
adj_pv1.air_source = 0; //气源单位Kpa
adj_pv1.middle_current = 0; //中间气压电流
adj_pv1.oscil_times = 0; //振荡次数
adj_pvx->relay_d = 0.15; //继电整定,回环幅值
adj_pvx->air_source = 0; //气源单位Kpa
adj_pvx->middle_current = 0; //中间气压电流
adj_pvx->oscil_times = 0; //振荡次数
/*****************************************************/
adj_pv2.adj_flag = 0; //自整定标志0空闲1整定中
for( uint8_t i = 0;i < OSCILL_TIMES;i++) //继电整定,振荡幅值,振荡周期
{
adj_pv2.relay_a[i] = 0;
adj_pv2.relay_tc[i] = 0;
}
adj_pv2.relay_d = 0.15; //继电整定,回环幅值
adj_pv2.air_source = 0; //气源单位Kpa
adj_pv2.middle_current = 0; //中间气压电流
adj_pv2.oscil_times = 0; //振荡次数
}
float out_makeup = 0.05;
@ -441,7 +429,7 @@ void prov_ctrl(propotion_valve *pvx, prov_adjust *adj_pvx)
if(adj_pvx->adj_flag == 1) //进入此处说明整定被打断
{
//整定结束
prov_adj_init();
prov_adj_init(adj_pvx);
astep = ADJ_WAIT;
}
@ -455,7 +443,7 @@ void prov_ctrl(propotion_valve *pvx, prov_adjust *adj_pvx)
// //继电反馈
// if(astep == ADJ_WAIT)
// {
// prov_adj_init();
// prov_adj_init(adj_pvx);
// adj_pvx->adj_flag = 1; //整定开始
// astep = ADJ_START;
// }
@ -464,7 +452,7 @@ void prov_ctrl(propotion_valve *pvx, prov_adjust *adj_pvx)
//分段
if(astep_s == SECTION_WAIT)
{
prov_adj_section_init();
prov_adj_section_init(adj_pvx);
adj_pvx->adj_flag = 1; //整定开始
astep_s = SECTION_START;
}
@ -477,7 +465,7 @@ void prov_ctrl(propotion_valve *pvx, prov_adjust *adj_pvx)
if(adj_pvx->adj_flag == 1) //进入此处说明整定被打断
{
//整定结束
prov_adj_init();
prov_adj_init(adj_pvx);
astep = ADJ_WAIT;
}
}
@ -710,7 +698,7 @@ void prov_adj(propotion_valve *pvx, prov_adjust *adj_pvx)
tick_previous = -1;
tick_current = -1;
prov_adj_init();
prov_adj_init(adj_pvx);
pvx->status = PROV_RUNNING; //恢复控制
astep++;
@ -735,22 +723,16 @@ void prov_adj(propotion_valve *pvx, prov_adjust *adj_pvx)
}
}
void prov_adj_section_init(void)
void prov_adj_section_init(prov_adjust *adj_pvx)
{
adj_pv1.adj_flag = 0;
adj_pv1.stable_area = 9;
adj_pv1.wait_tick = 10;
adj_pv2.adj_flag = 0;
adj_pv2.stable_area = 9;
adj_pv2.wait_tick = 10;
adj_pvx->adj_flag = 0;
adj_pvx->stable_area = 9;
adj_pvx->wait_tick = 10;
for(uint8_t i = 0; i < SECTION_NUM; i++)
{
adj_pv1.table_current[i] = 0;
adj_pv1.table_pressure[i] = 0;
adj_pv2.table_current[i] = 0;
adj_pv2.table_pressure[i] = 0;
adj_pvx->table_current[i] = 0;
adj_pvx->table_pressure[i] = 0;
}
}
@ -838,12 +820,14 @@ void prov_adj_section(propotion_valve *pvx, prov_adjust *adj_pvx)
case 1:
{
ao_blf1 = 0;
CoilState[3] &= 0xBF; //D6 = 0, [1011 1111]
}
break;
case 2:
{
ao_blf2 = 0;
CoilState[3] &= 0xDF; //D5 = 0, [1101 1111]
}
break;
default:
@ -857,7 +841,7 @@ void prov_adj_section(propotion_valve *pvx, prov_adjust *adj_pvx)
adj_pvx->adj_flag = 0;
pvx->status = PROV_HOLDING; //恢复控制
astep++;
astep_s++;
}else if( (tick_current - tick_previous) < 0)
{
tick_previous = -1;