📄 inioper.txt
字号:
;;;671 // iEnd = len - 1;
;;;672 if (iStart < iEnd)
000864 e15a000b CMP r10,r11
000868 2a000008 BCS |L1.2192|
;;;673 {
;;;674 strncpy((char*)&bu[0], (char*)&buf[iStart], iEnd - iStart);
00086c e04b200a SUB r2,r11,r10
000870 e084100a ADD r1,r4,r10
000874 e28d0004 ADD r0,sp,#4
000878 ebfffffe BL strncpy
;;;675 bu[iEnd - iStart] = '\0';
00087c e3a00000 MOV r0,#0
000880 e04b100a SUB r1,r11,r10
000884 e28d2004 ADD r2,sp,#4
000888 e7c20001 STRB r0,[r2,r1]
00088c ea000001 B |L1.2200|
|L1.2192|
;;;676 }
;;;677 else
;;;678 bu[0] = '\0';
000890 e3a00000 MOV r0,#0
000894 e5cd0004 STRB r0,[sp,#4]
|L1.2200|
;;;679 return &bu[0];
000898 e28d0004 ADD r0,sp,#4
00089c e28dd034 ADD sp,sp,#0x34
0008a0 e8bd4ff0 POP {r4-r11,lr}
;;;680 }
0008a4 e12fff1e BX lr
;;;681
ENDP
config PROC
;;;333 void config(void)
;;;334 {
0008a8 e92d41f0 PUSH {r4-r8,lr}
0008ac e24dd0c8 SUB sp,sp,#0xc8
;;;335 int ret, vv;
;;;336 unsigned char i, j;
;;;337 char config_file[20]="plugin.ini";
0008b0 e3a02014 MOV r2,#0x14
0008b4 e59f1408 LDR r1,|L1.3268|
0008b8 e28d00b4 ADD r0,sp,#0xb4
0008bc ebfffffe BL __aeabi_memcpy4
;;;338 char buf[MAX_CFG_BUF];
;;;339 char tmpbuf[50];
;;;340 char tmppbuf[20];
;;;341
;;;342 cfghandle=__fopen((char *)config_file, FILE_A);
0008c0 e3a01008 MOV r1,#8
0008c4 e28d00b4 ADD r0,sp,#0xb4
0008c8 ebfffffe BL __fopen
0008cc e59f13d4 LDR r1,|L1.3240|
0008d0 e5810000 STR r0,[r1,#0] ; cfghandle
;;;343 cfgfilelen =__get_flen(cfghandle);
0008d4 e5911000 LDR r1,[r1,#0] ; cfghandle
0008d8 e3a0200d MOV r2,#0xd
0008dc e0010192 MUL r1,r2,r1
0008e0 e59f23e0 LDR r2,|L1.3272|
0008e4 e0820101 ADD r0,r2,r1,LSL #2
0008e8 e3a01000 MOV r1,#0
0008ec ebfffffe BL __getfsize
0008f0 e59f13ac LDR r1,|L1.3236|
0008f4 e5810000 STR r0,[r1,#0] ; cfgfilelen
;;;344 if (cfgfilelen > 0)
0008f8 e2810000 ADD r0,r1,#0
0008fc e5900000 LDR r0,[r0,#0] ; cfgfilelen
000900 e3500000 CMP r0,#0
000904 da000007 BLE |L1.2344|
;;;345 cfgfilebufpage = (cfgfilelen / MAX_CFG_BUF) + 1;
000908 e3a01064 MOV r1,#0x64
00090c e59f0390 LDR r0,|L1.3236|
000910 e5900000 LDR r0,[r0,#0] ; cfgfilelen
000914 ebfffffe BL __aeabi_idivmod
000918 e2800001 ADD r0,r0,#1
00091c e59f13a8 LDR r1,|L1.3276|
000920 e5810000 STR r0,[r1,#0] ; cfgfilebufpage
000924 ea000002 B |L1.2356|
|L1.2344|
;;;346 else
;;;347 {
;;;348 cfgfilebufpage = 0;
000928 e3a00000 MOV r0,#0
00092c e59f1398 LDR r1,|L1.3276|
000930 e5810000 STR r0,[r1,#0] ; cfgfilebufpage
|L1.2356|
;;;349 //addexceptionmsg();
;;;350 //showexception(char *rt, char * buf);
;;;351 }
;;;352 //__setfpos(ff_handle,0);
;;;353
;;;354 /*for (i = 0; i < cfgfilebufpage; i++)
;;;355 {
;;;356 __setfpos(cfghandle, CFG_BUF_LEN * i);
;;;357 __read(cfghandle, cfgfilebuffer, MAX_CFG_BUF);
;;;358 //__write(ff_handle,tmp_buf1, 12);
;;;359 }*/
;;;360
;;;361 //site_prop
;;;362 ret = ConfigGetKey(cfghandle, "SITE_INFO", "SITE_TYPE", buf);
000934 e28d3050 ADD r3,sp,#0x50
000938 e28f2e39 ADR r2,|L1.3280|
00093c e28f1fe6 ADR r1,|L1.3292|
000940 e59f0360 LDR r0,|L1.3240|
000944 e5900000 LDR r0,[r0,#0] ; cfghandle
000948 ebfffffe BL ConfigGetKey
00094c e1a04000 MOV r4,r0
;;;363 if (ret == CFG_OK)
000950 e3540000 CMP r4,#0
000954 1a000003 BNE |L1.2408|
;;;364 {
;;;365 //系统编号
;;;366 g_site_conf.site_type = atoi(buf);
000958 e28d0050 ADD r0,sp,#0x50
00095c ebfffffe BL atoi
000960 e59f1380 LDR r1,|L1.3304|
000964 e5810000 STR r0,[r1,#0] ; g_site_conf
|L1.2408|
;;;367 }
;;;368 /*ret = ConfigGetKey(cfghandle, "SITE_INFO", "SITE_NAME", buf);
;;;369 if (ret == CFG_OK)
;;;370 {
;;;371 //监测点名称
;;;372 strcpy(g_site_conf.site_name, buf);
;;;373 }*/
;;;374 ret = ConfigGetKey(cfghandle, "SITE_INFO", "AREA_ID", buf);
000968 e28d3050 ADD r3,sp,#0x50
00096c e28f2fde ADR r2,|L1.3308|
000970 e28f1fd9 ADR r1,|L1.3292|
000974 e59f032c LDR r0,|L1.3240|
000978 e5900000 LDR r0,[r0,#0] ; cfghandle
00097c ebfffffe BL ConfigGetKey
000980 e1a04000 MOV r4,r0
;;;375 if (ret == CFG_OK)
000984 e3540000 CMP r4,#0
000988 1a000003 BNE |L1.2460|
;;;376 {
;;;377 //AREA_ID
;;;378 g_site_conf.area_id = atoi(buf);
00098c e28d0050 ADD r0,sp,#0x50
000990 ebfffffe BL atoi
000994 e59f134c LDR r1,|L1.3304|
000998 e5810004 STR r0,[r1,#4] ; g_site_conf
|L1.2460|
;;;379 }
;;;380 ret = ConfigGetKey(cfghandle, "SITE_INFO", "CORP_ID", buf);
00099c e28d3050 ADD r3,sp,#0x50
0009a0 e28f2fd3 ADR r2,|L1.3316|
0009a4 e28f1e33 ADR r1,|L1.3292|
0009a8 e59f02f8 LDR r0,|L1.3240|
0009ac e5900000 LDR r0,[r0,#0] ; cfghandle
0009b0 ebfffffe BL ConfigGetKey
0009b4 e1a04000 MOV r4,r0
;;;381 if (ret == CFG_OK)
0009b8 e3540000 CMP r4,#0
0009bc 1a000003 BNE |L1.2512|
;;;382 {
;;;383 //企业ID
;;;384 g_site_conf.corp_id = atoi(buf);
0009c0 e28d0050 ADD r0,sp,#0x50
0009c4 ebfffffe BL atoi
0009c8 e59f1318 LDR r1,|L1.3304|
0009cc e5810008 STR r0,[r1,#8] ; g_site_conf
|L1.2512|
;;;385 }
;;;386 ret = ConfigGetKey(cfghandle, "SITE_INFO", "SITE_ID", buf);
0009d0 e28d3050 ADD r3,sp,#0x50
0009d4 e28f2e32 ADR r2,|L1.3324|
0009d8 e28f1fbf ADR r1,|L1.3292|
0009dc e59f02c4 LDR r0,|L1.3240|
0009e0 e5900000 LDR r0,[r0,#0] ; cfghandle
0009e4 ebfffffe BL ConfigGetKey
0009e8 e1a04000 MOV r4,r0
;;;387 if (ret == CFG_OK)
0009ec e3540000 CMP r4,#0
0009f0 1a000003 BNE |L1.2564|
;;;388 {
;;;389 //站点ID
;;;390 g_site_conf.site_id = atoi(buf);
0009f4 e28d0050 ADD r0,sp,#0x50
0009f8 ebfffffe BL atoi
0009fc e59f12e4 LDR r1,|L1.3304|
000a00 e581000c STR r0,[r1,#0xc] ; g_site_conf
|L1.2564|
;;;391 }
;;;392 ret = ConfigGetKey(cfghandle, "SITE_INFO", "TIMEOUT", buf);
000a04 e28d3050 ADD r3,sp,#0x50
000a08 e28f2fbd ADR r2,|L1.3332|
000a0c e28f1fb2 ADR r1,|L1.3292|
000a10 e59f0290 LDR r0,|L1.3240|
000a14 e5900000 LDR r0,[r0,#0] ; cfghandle
000a18 ebfffffe BL ConfigGetKey
000a1c e1a04000 MOV r4,r0
;;;393 if (ret == CFG_OK)
000a20 e3540000 CMP r4,#0
000a24 1a000003 BNE |L1.2616|
;;;394 {
;;;395 //超时时间
;;;396 g_site_conf.site_timeout = atoi(buf);
000a28 e28d0050 ADD r0,sp,#0x50
000a2c ebfffffe BL atoi
000a30 e59f12b0 LDR r1,|L1.3304|
000a34 e5810010 STR r0,[r1,#0x10] ; g_site_conf
|L1.2616|
;;;397 }
;;;398 ret = ConfigGetKey(cfghandle, "SITE_INFO", "TIMEOUT_RECONNECT", buf);
000a38 e28d3050 ADD r3,sp,#0x50
000a3c e28f2fb2 ADR r2,|L1.3340|
000a40 e28f1fa5 ADR r1,|L1.3292|
000a44 e59f025c LDR r0,|L1.3240|
000a48 e5900000 LDR r0,[r0,#0] ; cfghandle
000a4c ebfffffe BL ConfigGetKey
000a50 e1a04000 MOV r4,r0
;;;399 if (ret == CFG_OK)
000a54 e3540000 CMP r4,#0
000a58 1a000003 BNE |L1.2668|
;;;400 {
;;;401 //超时次数
;;;402 g_site_conf.site_timeout_reconnect = atoi(buf);
000a5c e28d0050 ADD r0,sp,#0x50
000a60 ebfffffe BL atoi
000a64 e59f127c LDR r1,|L1.3304|
000a68 e5810014 STR r0,[r1,#0x14] ; g_site_conf
|L1.2668|
;;;403 }
;;;404
;;;405 //COM PORT属性
;;;406 for (i = 0; i < 5; i++)
000a6c e3a05000 MOV r5,#0
000a70 ea00006c B |L1.3112|
|L1.2676|
;;;407 {
;;;408 strncpy(tmpbuf, "COM", 3);
000a74 e3a02003 MOV r2,#3
000a78 e28f1e2a ADR r1,|L1.3360|
000a7c e28d001c ADD r0,sp,#0x1c
000a80 ebfffffe BL strncpy
;;;409 tmpbuf[3] = (unsigned char)(i + 1 + 0x30);
000a84 e2850031 ADD r0,r5,#0x31
000a88 e5cd001f STRB r0,[sp,#0x1f]
;;;410 tmpbuf[4] = '\0';
000a8c e3a00000 MOV r0,#0
000a90 e5cd0020 STRB r0,[sp,#0x20]
;;;411 strncat(tmpbuf, "_INFO", 5);
000a94 e3a02005 MOV r2,#5
000a98 e28f1d09 ADR r1,|L1.3296|
000a9c e28d001c ADD r0,sp,#0x1c
000aa0 ebfffffe BL strncat
;;;412 ret = ConfigGetKey(cfghandle, "COM_PORT_PROP", tmpbuf, buf);
000aa4 e28d3050 ADD r3,sp,#0x50
000aa8 e28d201c ADD r2,sp,#0x1c
000aac e28f1e27 ADR r1,|L1.3364|
000ab0 e59f01f0 LDR r0,|L1.3240|
000ab4 e5900000 LDR r0,[r0,#0] ; cfghandle
000ab8 ebfffffe BL ConfigGetKey
000abc e1a04000 MOV r4,r0
;;;413 if (ret == CFG_OK)
000ac0 e3540000 CMP r4,#0
000ac4 1a000055 BNE |L1.3104|
;;;414 {
;;;415 //串口设置
;;;416 ret = getcsvlen(buf);
000ac8 e28d0050 ADD r0,sp,#0x50
000acc ebfffffe BL getcsvlen
000ad0 e1a04000 MOV r4,r0
;;;417 g_site_conf_extend.com_port[i].port_num = i;//端口号
000ad4 e0850185 ADD r0,r5,r5,LSL #3
000ad8 e59f1254 LDR r1,|L1.3380|
000adc e7c15100 STRB r5,[r1,r0,LSL #2]
;;;418 g_site_conf_extend.com_port[i].flgUsed = TRUE;
000ae0 e3a00001 MOV r0,#1
000ae4 e0851185 ADD r1,r5,r5,LSL #3
000ae8 e59f2244 LDR r2,|L1.3380|
000aec e0821101 ADD r1,r2,r1,LSL #2
000af0 e5810004 STR r0,[r1,#4]
;;;419 strcpy(tmpbuf, pickcsvdata(buf, ret, ';', ',', 0));
000af4 e3a03000 MOV r3,#0
000af8 e58d3000 STR r3,[sp,#0]
000afc e3a0302c MOV r3,#0x2c
000b00 e3a0203b MOV r2,#0x3b
000b04 e1a01004 MOV r1,r4
000b08 e28d0050 ADD r0,sp,#0x50
000b0c ebfffffe BL pickcsvdata
000b10 e1a08000 MOV r8,r0
000b14 e1a01000 MOV r1,r0
000b18 e28d001c ADD r0,sp,#0x1c
000b1c ebfffffe BL strcpy
;;;420 g_site_conf_extend.com_port[i].baud = atoi(tmpbuf);
000b20 e28d001c ADD r0,sp,#0x1c
000b24 ebfffffe BL atoi
000b28 e0851185 ADD r1,r5,r5,LSL #3
000b2c e59f2200 LDR r2,|L1.3380|
000b30 e0821101 ADD r1,r2,r1,LSL #2
000b34 e581000c STR r0,[r1,#0xc]
;;;421 strcpy(tmpbuf, pickcsvdata(buf, ret, ';', ',', 1));
000b38 e3a03001 MOV r3,#1
000b3c e58d3000 STR r3,[sp,#0]
000b40 e3a0302c MOV r3,#0x2c
000b44 e3a0203b MOV r2,#0x3b
000b48 e1a01004 MOV r1,r4
000b4c e28d0050 ADD r0,sp,#0x50
000b50 ebfffffe BL pickcsvdata
000b54 e1a08000 MOV r8,r0
000b58 e1a01000 MOV r1,r0
000b5c e28d001c ADD r0,sp,#0x1c
000b60 ebfffffe BL strcpy
;;;422 g_site_conf_extend.com_port[i].flgChk = atoi(tmpbuf);//奇偶校验 0-无,1-奇,2-偶
000b64 e28d001c ADD r0,sp,#0x1c
000b68 ebfffffe BL atoi
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -