📄 main.txt
字号:
00090c e59f1570 LDR r1,|L1.3716|
000910 e1540001 CMP r4,r1
000914 2a000005 BCS |L1.2352|
;;;604 {
;;;605 IO_STATUS|=0x04;
000918 e59f0568 LDR r0,|L1.3720|
00091c e5d00000 LDRB r0,[r0,#0] ; IO_STATUS
000920 e3800004 ORR r0,r0,#4
000924 e59f155c LDR r1,|L1.3720|
000928 e5c10000 STRB r0,[r1,#0] ; IO_STATUS
00092c ea000004 B |L1.2372|
|L1.2352|
;;;606 }
;;;607 else
;;;608 {
;;;609 IO_STATUS&=~0x04;
000930 e59f0550 LDR r0,|L1.3720|
000934 e5d00000 LDRB r0,[r0,#0] ; IO_STATUS
000938 e3c00004 BIC r0,r0,#4
00093c e59f1544 LDR r1,|L1.3720|
000940 e5c10000 STRB r0,[r1,#0] ; IO_STATUS
|L1.2372|
;;;610 }
;;;611 break;
000944 ea00001c B |L1.2492|
|L1.2376|
;;;612 case 30: //INPUT 4
000948 e1a00000 MOV r0,r0
;;;613 CONTROL_TLV2556(1,4,0x00);
00094c e3a02000 MOV r2,#0
000950 e3a01004 MOV r1,#4
000954 e3a00001 MOV r0,#1
000958 ebfffffe BL CONTROL_TLV2556
;;;614 break;
00095c ea000016 B |L1.2492|
|L1.2400|
;;;615 case 31:
000960 e1a00000 MOV r0,r0
;;;616 intvar1=CONTROL_TLV2556(1,4,0x00);
000964 e3a02000 MOV r2,#0
000968 e3a01004 MOV r1,#4
00096c e3a00001 MOV r0,#1
000970 ebfffffe BL CONTROL_TLV2556
000974 e1a04000 MOV r4,r0
;;;617 if(intvar1<3000)
000978 e59f1504 LDR r1,|L1.3716|
00097c e1540001 CMP r4,r1
000980 2a000005 BCS |L1.2460|
;;;618 {
;;;619 IO_STATUS|=0x08;
000984 e59f04fc LDR r0,|L1.3720|
000988 e5d00000 LDRB r0,[r0,#0] ; IO_STATUS
00098c e3800008 ORR r0,r0,#8
000990 e59f14f0 LDR r1,|L1.3720|
000994 e5c10000 STRB r0,[r1,#0] ; IO_STATUS
000998 ea000004 B |L1.2480|
|L1.2460|
;;;620 }
;;;621 else
;;;622 {
;;;623 IO_STATUS&=~0x08;
00099c e59f04e4 LDR r0,|L1.3720|
0009a0 e5d00000 LDRB r0,[r0,#0] ; IO_STATUS
0009a4 e3c00008 BIC r0,r0,#8
0009a8 e59f14d8 LDR r1,|L1.3720|
0009ac e5c10000 STRB r0,[r1,#0] ; IO_STATUS
|L1.2480|
;;;624 }
;;;625 break;
0009b0 ea000001 B |L1.2492|
|L1.2484|
;;;626 default:break;
0009b4 e1a00000 MOV r0,r0
0009b8 e1a00000 MOV r0,r0
|L1.2492|
0009bc e1a00000 MOV r0,r0 ;498
;;;627 }
;;;628
;;;629 }
0009c0 e8bd4010 POP {r4,lr}
0009c4 e12fff1e BX lr
;;;630
ENDP
init_RTC PROC
;;;634 {
;;;635 RTC_AMR=0;
0009c8 e3a00000 MOV r0,#0
0009cc e59f14b8 LDR r1,|L1.3724|
0009d0 e5810010 STR r0,[r1,#0x10]
;;;636 RTC_CIIR=0;
0009d4 e581000c STR r0,[r1,#0xc]
;;;637 RTC_CCR=0x11; //select 32.768KHz
0009d8 e3a00011 MOV r0,#0x11
0009dc e5810008 STR r0,[r1,#8]
;;;638 //RTC_PREINT
;;;639 }
0009e0 e12fff1e BX lr
;;;640
ENDP
READ_RTC_SECOND PROC
;;;642 {
;;;643 return RTC_SEC;
0009e4 e59f04a0 LDR r0,|L1.3724|
0009e8 e5900020 LDR r0,[r0,#0x20]
0009ec e20000ff AND r0,r0,#0xff
;;;644 }
0009f0 e12fff1e BX lr
;;;645
ENDP
READ_RTC_MINUTE PROC
;;;647 {
;;;648 return RTC_MIN;
0009f4 e59f0490 LDR r0,|L1.3724|
0009f8 e5900024 LDR r0,[r0,#0x24]
0009fc e20000ff AND r0,r0,#0xff
;;;649 }
000a00 e12fff1e BX lr
;;;650
ENDP
READ_RTC_HOUR PROC
;;;652 {
;;;653 return RTC_HOUR;
000a04 e59f0480 LDR r0,|L1.3724|
000a08 e5900028 LDR r0,[r0,#0x28]
000a0c e20000ff AND r0,r0,#0xff
;;;654 }
000a10 e12fff1e BX lr
;;;655
ENDP
READ_RTC_DAY PROC
;;;657 {
;;;658 return RTC_DOM;
000a14 e59f0470 LDR r0,|L1.3724|
000a18 e590002c LDR r0,[r0,#0x2c]
000a1c e20000ff AND r0,r0,#0xff
;;;659 }
000a20 e12fff1e BX lr
;;;660
ENDP
READ_RTC_MONTH PROC
;;;662 {
;;;663 return RTC_MONTH;
000a24 e59f0460 LDR r0,|L1.3724|
000a28 e5900038 LDR r0,[r0,#0x38]
000a2c e20000ff AND r0,r0,#0xff
;;;664 }
000a30 e12fff1e BX lr
;;;665
ENDP
READ_RTC_YEAR PROC
;;;667 {
;;;668 return RTC_YEAR;
000a34 e59f0450 LDR r0,|L1.3724|
000a38 e590003c LDR r0,[r0,#0x3c]
;;;669 }
000a3c e12fff1e BX lr
;;;670
ENDP
READ_RTC PROC
;;;671 unsigned char * READ_RTC(void)
;;;672 {
000a40 e92d400c PUSH {r2,r3,lr}
;;;673 char rt[6];
;;;674 rt[0] = (char)READ_RTC_YEAR();
000a44 ebfffffe BL READ_RTC_YEAR
000a48 e5cd0000 STRB r0,[sp,#0]
;;;675 rt[1] = READ_RTC_MONTH();
000a4c ebfffffe BL READ_RTC_MONTH
000a50 e5cd0001 STRB r0,[sp,#1]
;;;676 rt[2] = READ_RTC_DAY();
000a54 ebfffffe BL READ_RTC_DAY
000a58 e5cd0002 STRB r0,[sp,#2]
;;;677 rt[3] = READ_RTC_HOUR();
000a5c ebfffffe BL READ_RTC_HOUR
000a60 e5cd0003 STRB r0,[sp,#3]
;;;678 rt[4] = READ_RTC_MINUTE();
000a64 ebfffffe BL READ_RTC_MINUTE
000a68 e5cd0004 STRB r0,[sp,#4]
;;;679 rt[5] = READ_RTC_SECOND();
000a6c ebfffffe BL READ_RTC_SECOND
000a70 e5cd0005 STRB r0,[sp,#5]
;;;680 return rt;
000a74 e28d0000 ADD r0,sp,#0
000a78 e8bd400c POP {r2,r3,lr}
;;;681 }
000a7c e12fff1e BX lr
;;;682
ENDP
Timer0Handler PROC
;;;693 void Timer0Handler(void) __irq
;;;694 {
000a80 e92d0007 PUSH {r0-r2}
;;;695 unsigned int i;
;;;696
;;;697 T0IR = 1; /* clear interrupt flag */
000a84 e3a01001 MOV r1,#1
000a88 e59f2400 LDR r2,|L1.3728|
000a8c e5821000 STR r1,[r2,#0]
;;;698 // IENABLE; /* handles nested interrupt */
;;;699
;;;700 timer_counter++;
000a90 e59f13fc LDR r1,|L1.3732|
000a94 e5911000 LDR r1,[r1,#0] ; timer_counter
000a98 e2811001 ADD r1,r1,#1
000a9c e59f23f0 LDR r2,|L1.3732|
000aa0 e5821000 STR r1,[r2,#0] ; timer_counter
;;;701
;;;702 key_scan_time_base_counter++;
000aa4 e59f13ec LDR r1,|L1.3736|
000aa8 e5911000 LDR r1,[r1,#0] ; key_scan_time_base_counter
000aac e2811001 ADD r1,r1,#1
000ab0 e59f23e0 LDR r2,|L1.3736|
000ab4 e5821000 STR r1,[r2,#0] ; key_scan_time_base_counter
;;;703
;;;704 refresh_input_value_counter++;
000ab8 e59f13dc LDR r1,|L1.3740|
000abc e5911000 LDR r1,[r1,#0] ; refresh_input_value_counter
000ac0 e2811001 ADD r1,r1,#1
000ac4 e59f23d0 LDR r2,|L1.3740|
000ac8 e5821000 STR r1,[r2,#0] ; refresh_input_value_counter
;;;705
;;;706 tcpip_time_base++;
000acc e59f13cc LDR r1,|L1.3744|
000ad0 e5911000 LDR r1,[r1,#0] ; tcpip_time_base
000ad4 e2811001 ADD r1,r1,#1
000ad8 e59f23c0 LDR r2,|L1.3744|
000adc e5821000 STR r1,[r2,#0] ; tcpip_time_base
;;;707
;;;708 read_ad_timebase++;
000ae0 e59f13bc LDR r1,|L1.3748|
000ae4 e5911000 LDR r1,[r1,#0] ; read_ad_timebase
000ae8 e2811001 ADD r1,r1,#1
000aec e59f23b0 LDR r2,|L1.3748|
000af0 e5821000 STR r1,[r2,#0] ; read_ad_timebase
;;;709
;;;710 send_request_by_uart4_timebase++;
000af4 e59f13ac LDR r1,|L1.3752|
000af8 e5911000 LDR r1,[r1,#0] ; send_request_by_uart4_timebase
000afc e2811001 ADD r1,r1,#1
000b00 e59f23a0 LDR r2,|L1.3752|
000b04 e5821000 STR r1,[r2,#0] ; send_request_by_uart4_timebase
;;;711
;;;712 send_status_by_udp_timebase++;
000b08 e59f139c LDR r1,|L1.3756|
000b0c e5911000 LDR r1,[r1,#0] ; send_status_by_udp_timebase
000b10 e2811001 ADD r1,r1,#1
000b14 e59f2390 LDR r2,|L1.3756|
000b18 e5821000 STR r1,[r2,#0] ; send_status_by_udp_timebase
;;;713
;;;714 save_to_sd_card_file_timebase++;
000b1c e59f138c LDR r1,|L1.3760|
000b20 e5911000 LDR r1,[r1,#0] ; save_to_sd_card_file_timebase
000b24 e2811001 ADD r1,r1,#1
000b28 e59f2380 LDR r2,|L1.3760|
000b2c e5821000 STR r1,[r2,#0] ; save_to_sd_card_file_timebase
;;;715 //流量采样时间间隔
;;;716 flow_collection_timebase++;
000b30 e59f137c LDR r1,|L1.3764|
000b34 e5911000 LDR r1,[r1,#0] ; flow_collection_timebase
000b38 e2811001 ADD r1,r1,#1
000b3c e59f2370 LDR r2,|L1.3764|
000b40 e5821000 STR r1,[r2,#0] ; flow_collection_timebase
;;;717 //判断串口是否进行超时计数
;;;718 for (i = 0; i < 5; i++)
000b44 e3a00000 MOV r0,#0
000b48 ea00000b B |L1.2940|
|L1.2892|
;;;719 {
;;;720 if (g_site_conf_extend.com_port[i].timeout_calflg == TRUE)
000b4c e0801180 ADD r1,r0,r0,LSL #3
000b50 e59f2360 LDR r2,|L1.3768|
000b54 e0821101 ADD r1,r2,r1,LSL #2
000b58 e5911020 LDR r1,[r1,#0x20]
000b5c e3510001 CMP r1,#1
000b60 1a000004 BNE |L1.2936|
;;;721 g_site_conf_extend.com_port[0].timeout_ticks++;
000b64 e59f134c LDR r1,|L1.3768|
000b68 e591101c LDR r1,[r1,#0x1c] ; g_site_conf_extend
000b6c e2811001 ADD r1,r1,#1
000b70 e59f2340 LDR r2,|L1.3768|
000b74 e582101c STR r1,[r2,#0x1c] ; g_site_conf_extend
|L1.2936|
000b78 e2800001 ADD r0,r0,#1 ;718
|L1.2940|
000b7c e3500005 CMP r0,#5 ;718
000b80 3afffff1 BCC |L1.2892|
;;;722 }
;;;723
;;;724 // IDISABLE;
;;;725 VICVectAddr = 0; /* Acknowledge Interrupt */
000b84 e3a01000 MOV r1,#0
000b88 e5011100 STR r1,[r1,#-0x100]
;;;726 }
000b8c e8bd0007 POP {r0-r2}
000b90 e25ef004 SUBS pc,lr,#4
;;;727
ENDP
enable_timer PROC
;;;738 {
;;;739 if ( timer_num == 0 )
000b94 e3500000 CMP r0,#0
000b98 1a000003 BNE |L1.2988|
;;;740 {
;;;741 T0TCR = 1;
000b9c e3a01001 MOV r1,#1
000ba0 e59f22e8 LDR r2,|L1.3728|
000ba4 e5821004 STR r1,[r2,#4]
000ba8 ea000002 B |L1.3000|
|L1.2988|
;;;742 }
;;;743 else
;;;744 {
;;;745 T1TCR = 1;
000bac e3a01001 MOV r1,#1
000bb0 e59f2304 LDR r2,|L1.3772|
000bb4 e5821004 STR r1,[r2,#4]
|L1.3000|
;;;746 }
;;;747 return;
;;;748 }
000bb8 e12fff1e BX lr
;;;749
ENDP
disable_timer PROC
;;;760 {
;;;761 if ( timer_num == 0 )
000bbc e3500000 CMP r0,#0
000bc0 1a000003 BNE |L1.3028|
;;;762 {
;;;763 T0TCR = 0;
000bc4 e3a01000 MOV r1,#0
000bc8 e59f22c0 LDR r2,|L1.3728|
000bcc e5821004 STR r1,[r2,#4]
000bd0 ea000002 B |L1.3040|
|L1.3028|
;;;764 }
;;;765 else
;;;766 {
;;;767 T1TCR = 0;
000bd4 e3a01000 MOV r1,#0
000bd8 e59f22dc LDR r2,|L1.3772|
000bdc e5821004 STR r1,[r2,#4]
|L1.3040|
;;;768 }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -