📄 eepromoper.txt
字号:
0004f0 e5d00000 LDRB r0,[r0,#0] ; g_cur_measuredata
0004f4 e5cd0004 STRB r0,[sp,#4]
;;;195 //瞬间流量
;;;196 strncpy(&uTemp[8], convert_float_to_char(g_cur_measuredata.measuredata[P_ADDR_INSTANT].val), 4);
0004f8 e59f14d4 LDR r1,|L1.2516|
0004fc e5910018 LDR r0,[r1,#0x18]
000500 ebfffffe BL convert_float_to_char
000504 e1a0a000 MOV r10,r0
000508 e3a02004 MOV r2,#4
00050c e1a01000 MOV r1,r0
000510 e28d000c ADD r0,sp,#0xc
000514 ebfffffe BL strncpy
;;;197 //累计流量
;;;198 strncpy(&uTemp[12], convert_float_to_char(g_cur_measuredata.measuredata[P_ADDR_MILAGE].val), 4);
000518 e59f14b4 LDR r1,|L1.2516|
00051c e5910028 LDR r0,[r1,#0x28]
000520 ebfffffe BL convert_float_to_char
000524 e1a0a000 MOV r10,r0
000528 e3a02004 MOV r2,#4
00052c e1a01000 MOV r1,r0
000530 e28d0010 ADD r0,sp,#0x10
000534 ebfffffe BL strncpy
;;;199 bTemp = write(iCurpos, &uTemp[0],16);
000538 e3a02010 MOV r2,#0x10
00053c e28d1004 ADD r1,sp,#4
000540 e1a00004 MOV r0,r4
000544 ebfffffe BL write
000548 e1a06000 MOV r6,r0
;;;200 delay_xus(10);
00054c e3a0000a MOV r0,#0xa
000550 ebfffffe BL delay_xus
;;;201
;;;202 //PH,COD,电机,进水瞬时,进水累计....
;;;203 strncpy(&uTemp[0], convert_float_to_char(g_cur_measuredata.measuredata[2].val), 4);
000554 e59f1478 LDR r1,|L1.2516|
000558 e5910038 LDR r0,[r1,#0x38]
00055c ebfffffe BL convert_float_to_char
000560 e1a0a000 MOV r10,r0
000564 e3a02004 MOV r2,#4
000568 e1a01000 MOV r1,r0
00056c e28d0004 ADD r0,sp,#4
000570 ebfffffe BL strncpy
;;;204 strncpy(&uTemp[4], convert_float_to_char(g_cur_measuredata.measuredata[3].val), 4);
000574 e59f1458 LDR r1,|L1.2516|
000578 e5910048 LDR r0,[r1,#0x48]
00057c ebfffffe BL convert_float_to_char
000580 e1a0a000 MOV r10,r0
000584 e3a02004 MOV r2,#4
000588 e1a01000 MOV r1,r0
00058c e28d0008 ADD r0,sp,#8
000590 ebfffffe BL strncpy
;;;205 strncpy(&uTemp[8], convert_float_to_char(g_cur_measuredata.measuredata[4].val), 4);
000594 e59f1438 LDR r1,|L1.2516|
000598 e5910058 LDR r0,[r1,#0x58]
00059c ebfffffe BL convert_float_to_char
0005a0 e1a0a000 MOV r10,r0
0005a4 e3a02004 MOV r2,#4
0005a8 e1a01000 MOV r1,r0
0005ac e28d000c ADD r0,sp,#0xc
0005b0 ebfffffe BL strncpy
;;;206 strncpy(&uTemp[12], convert_float_to_char(g_cur_measuredata.measuredata[5].val), 4);
0005b4 e59f1418 LDR r1,|L1.2516|
0005b8 e5910068 LDR r0,[r1,#0x68]
0005bc ebfffffe BL convert_float_to_char
0005c0 e1a0a000 MOV r10,r0
0005c4 e3a02004 MOV r2,#4
0005c8 e1a01000 MOV r1,r0
0005cc e28d0010 ADD r0,sp,#0x10
0005d0 ebfffffe BL strncpy
;;;207 bTemp = write(iCurpos + 16, &uTemp[0],16);
0005d4 e3a02010 MOV r2,#0x10
0005d8 e28d1004 ADD r1,sp,#4
0005dc e2840010 ADD r0,r4,#0x10
0005e0 ebfffffe BL write
0005e4 e1a06000 MOV r6,r0
;;;208 delay_xus(10);
0005e8 e3a0000a MOV r0,#0xa
0005ec ebfffffe BL delay_xus
;;;209
;;;210 strncpy(&uTemp[0], convert_float_to_char(g_cur_measuredata.measuredata[6].val), 4);
0005f0 e59f13dc LDR r1,|L1.2516|
0005f4 e5910078 LDR r0,[r1,#0x78]
0005f8 ebfffffe BL convert_float_to_char
0005fc e1a0a000 MOV r10,r0
000600 e3a02004 MOV r2,#4
000604 e1a01000 MOV r1,r0
000608 e28d0004 ADD r0,sp,#4
00060c ebfffffe BL strncpy
;;;211 bTemp = write(iCurpos + 32, &uTemp[0],16);
000610 e3a02010 MOV r2,#0x10
000614 e28d1004 ADD r1,sp,#4
000618 e2840020 ADD r0,r4,#0x20
00061c ebfffffe BL write
000620 e1a06000 MOV r6,r0
;;;212 delay_xus(10);
000624 e3a0000a MOV r0,#0xa
000628 ebfffffe BL delay_xus
;;;213
;;;214 //纪录步进
;;;215 iCurpos = iCurpos + iStep;
00062c e0844005 ADD r4,r4,r5
;;;216 if (iCurpos >= SYS_INSTANT_BOTTOM_ADDR) iCurpos = 0x200;
000630 e3540d53 CMP r4,#0x14c0
000634 3a000000 BCC |L1.1596|
000638 e3a04c02 MOV r4,#0x200
|L1.1596|
;;;217 setinstantvalrecpos(iCurpos);
00063c e1a00004 MOV r0,r4
000640 ebfffffe BL setinstantvalrecpos
;;;218 }
000644 e28dd018 ADD sp,sp,#0x18
000648 e8bd47f0 POP {r4-r10,lr}
00064c e12fff1e BX lr
;;;219 /*
ENDP
queryinstantdata PROC
;;;222 */
;;;223 char * queryinstantdata(char *rt) {
000650 e1a01000 MOV r1,r0
;;;224 return NULL;
000654 e3a00000 MOV r0,#0
;;;225
;;;226 }
000658 e12fff1e BX lr
;;;227
ENDP
calParshallFlux PROC
;;;235 float calParshallFlux(BYTE slotmodel, float waterlevel)
;;;236 {
00065c e92d4030 PUSH {r4,r5,lr}
000660 e24ddf4f SUB sp,sp,#0x13c
000664 e1a04000 MOV r4,r0
000668 e1a05001 MOV r5,r1
;;;237 switch (slotmodel)
00066c e354000e CMP r4,#0xe
000670 308ff104 ADDCC pc,pc,r4,LSL #2
000674 ea000136 B |L1.2900|
000678 ea000135 B |L1.2900|
00067c ea00000b B |L1.1712|
000680 ea00001f B |L1.1796|
000684 ea000032 B |L1.1876|
000688 ea000045 B |L1.1956|
00068c ea000058 B |L1.2036|
000690 ea00006b B |L1.2116|
000694 ea00007e B |L1.2196|
000698 ea000091 B |L1.2276|
00069c ea0000a4 B |L1.2356|
0006a0 ea0000b7 B |L1.2436|
0006a4 ea0000ef B |L1.2664|
0006a8 ea000102 B |L1.2744|
0006ac ea000115 B |L1.2824|
|L1.1712|
;;;238 {
;;;239 case 1:
0006b0 e1a00000 MOV r0,r0
;;;240 return (float) (3.6 * 60.4 * pow(waterlevel, 1.55));
0006b4 e1a00005 MOV r0,r5
0006b8 ebfffffe BL __aeabi_f2d
0006bc e28d2e13 ADD r2,sp,#0x130
0006c0 e8820003 STM r2,{r0,r1}
0006c4 e28f0fc3 ADR r0,|L1.2520|
0006c8 e890000c LDM r0,{r2,r3}
0006cc e59d0130 LDR r0,[sp,#0x130]
0006d0 ebfffffe BL pow
0006d4 e28d2f4a ADD r2,sp,#0x128
0006d8 e8820003 STM r2,{r0,r1}
0006dc e28f0fbf ADR r0,|L1.2528|
0006e0 e890000c LDM r0,{r2,r3}
0006e4 e59d0128 LDR r0,[sp,#0x128]
0006e8 ebfffffe BL __aeabi_dmul
0006ec e28d2e12 ADD r2,sp,#0x120
0006f0 e8820003 STM r2,{r0,r1}
0006f4 ebfffffe BL __aeabi_d2f
|L1.1784|
0006f8 e28ddf4f ADD sp,sp,#0x13c
0006fc e8bd4030 POP {r4,r5,lr}
;;;241 case 2:
;;;242 return (float) (3.6 * 120.7 * pow(waterlevel, 1.55));
;;;243 case 3:
;;;244 return (float) (3.6 * 177.1 * pow(waterlevel, 1.55));
;;;245 case 4:
;;;246 return (float) (3.6 * 381.2 * pow(waterlevel, 1.54));
;;;247 case 5:
;;;248 return (float) (3.6 * 535.4 * pow(waterlevel, 1.53));
;;;249 case 6:
;;;250 return (float) (3.6 * 561 * pow(waterlevel, 1.513));
;;;251 case 7:
;;;252 return (float) (3.6 * 679 * pow(waterlevel, 1.521));
;;;253 case 8:
;;;254 return (float) (3.6 * 1038 * pow(waterlevel, 1.537));
;;;255 case 9:
;;;256 return (float) (3.6 * 1403 * pow(waterlevel, 1.548));
;;;257 case 10:
;;;258 return (float) (3.6 * 1772 * pow(waterlevel, 1.557));
;;;259 case 11:
;;;260 return (float) (3.6 * 2147 * pow(waterlevel, 1.565));
;;;261 case 12:
;;;262 return (float) (3.6 * 2397 * pow(waterlevel, 1.569));
;;;263 case 13:
;;;264 return (float) (3.6 * 2904 * pow(waterlevel, 1.577));
;;;265 default:
;;;266 return 0;
;;;267 }
;;;268 }
000700 e12fff1e BX lr
|L1.1796|
000704 e1a00000 MOV r0,r0 ;241
000708 e1a00000 MOV r0,r0 ;241
00070c e1a00005 MOV r0,r5 ;242
000710 ebfffffe BL __aeabi_f2d
000714 e28d2f46 ADD r2,sp,#0x118 ;242
000718 e8820003 STM r2,{r0,r1} ;242
00071c e28f0fad ADR r0,|L1.2520|
000720 e890000c LDM r0,{r2,r3} ;242
000724 e59d0118 LDR r0,[sp,#0x118] ;242
000728 ebfffffe BL pow
00072c e28d2e11 ADD r2,sp,#0x110 ;242
000730 e8820003 STM r2,{r0,r1} ;242
000734 e28f0fab ADR r0,|L1.2536|
000738 e890000c LDM r0,{r2,r3} ;242
00073c e59d0110 LDR r0,[sp,#0x110] ;242
000740 ebfffffe BL __aeabi_dmul
000744 e28d2f42 ADD r2,sp,#0x108 ;242
000748 e8820003 STM r2,{r0,r1} ;242
00074c ebfffffe BL __aeabi_d2f
000750 eaffffe8 B |L1.1784|
|L1.1876|
000754 e1a00000 MOV r0,r0 ;243
000758 e1a00000 MOV r0,r0 ;243
00075c e1a00005 MOV r0,r5 ;244
000760 ebfffffe BL __aeabi_f2d
000764 e28d2c01 ADD r2,sp,#0x100 ;244
000768 e8820003 STM r2,{r0,r1} ;244
00076c e28f0f99 ADR r0,|L1.2520|
000770 e890000c LDM r0,{r2,r3} ;244
000774 e59d0100 LDR r0,[sp,#0x100] ;244
000778 ebfffffe BL pow
00077c e28d20f8 ADD r2,sp,#0xf8 ;244
000780 e8820003 STM r2,{r0,r1} ;244
000784 e28f0f99 ADR r0,|L1.2544|
000788 e890000c LDM r0,{r2,r3} ;244
00078c e59d00f8 LDR r0,[sp,#0xf8] ;244
000790 ebfffffe BL __aeabi_dmul
000794 e28d20f0 ADD r2,sp,#0xf0 ;244
000798 e8820003 STM r2,{r0,r1} ;244
00079c ebfffffe BL __aeabi_d2f
0007a0 eaffffd4 B |L1.1784|
|L1.1956|
0007a4 e1a00000 MOV r0,r0 ;245
0007a8 e1a00000 MOV r0,r0 ;245
0007ac e1a00005 MOV r0,r5 ;246
0007b0 ebfffffe BL __aeabi_f2d
0007b4 e28d20e8 ADD r2,sp,#0xe8 ;246
0007b8 e8820003 STM r2,{r0,r1} ;246
0007bc e28f0f8d ADR r0,|L1.2552|
0007c0 e890000c LDM r0,{r2,r3} ;246
0007c4 e59d00e8 LDR r0,[sp,#0xe8] ;246
0007c8 ebfffffe BL pow
0007cc e28d20e0 ADD r2,sp,#0xe0 ;246
0007d0 e8820003 STM r2,{r0,r1} ;246
0007d4 e28f0f89 ADR r0,|L1.2560|
0007d8 e890000c LDM r0,{r2,r3} ;246
0007dc e59d00e0 LDR r0,[sp,#0xe0] ;246
0007e0 ebfffffe BL __aeabi_dmul
0007e4 e28d20d8 ADD r2,sp,#0xd8 ;246
0007e8 e8820003 STM r2,{r0,r1} ;246
0007ec ebfffffe BL __aeabi_d2f
0007f0 eaffffc0 B |L1.1784|
|L1.2036|
0007f4 e1a00000 MOV r0,r0 ;247
0007f8 e1a00000 MOV r0,r0 ;247
0007fc e1a00005 MOV r0,r5 ;248
000800 ebfffffe BL __aeabi_f2d
000804 e28d20d0 ADD r2,sp,#0xd0 ;248
000808 e8820003 STM r2,{r0,r1} ;248
00080c e28f0f7d ADR r0,|L1.2568|
000810 e890000c LDM r0,{r2,r3} ;248
000814 e59d00d0 LDR r0,[sp,#0xd0] ;248
000818 ebfffffe BL pow
00081c e28d20c8 ADD r2,sp,#0xc8 ;248
000820 e8820003 STM r2,{r0,r1} ;248
000824 e28f0f79 ADR r0,|L1.2576|
000828 e890000c LDM r0,{r2,r3} ;248
00082c e59d00c8 LDR r0,[sp,#0xc8] ;248
000830 ebfffffe BL __aeabi_dmul
000834 e28d20c0 ADD r2,sp,#0xc0 ;248
000838 e8820003 STM r2,{r0,r1} ;248
00083c ebfffffe BL __aeabi_d2f
000840 eaffffac B |L1.1784|
|L1.2116|
000844 e1a00000 MOV r0,r0 ;249
000848 e1a00000 MOV r0,r0 ;249
00084c e1a00005 MOV r0,r5 ;250
000850 ebfffffe BL __aeabi_f2d
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -