⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 probe_rs232.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 3 页
字号:
; generated by ARM/Thumb C/C++ Compiler with , RVCT3.1 [Build 914] for uVision
; commandline ArmCC [--debug -c --asm --interleave -o.\rvmdk\probe_rs232.o --depend=.\rvmdk\probe_rs232.d --device=DARMSTM -O1 -Otime -I. -I..\BSP -I..\..\..\..\..\uCOS-II\Ports\arm-cortex-m3\Generic\RealView -I..\..\..\..\..\uCOS-II\Source -I..\..\..\..\..\CPU\ST\STM32\inc -I..\..\..\..\..\uC-CPU -I..\..\..\..\..\uC-CPU\Arm-Cortex-M3\RealView -I..\..\..\..\..\uC-LIB -I..\..\..\..\..\uC-Probe\Target\Plugins\uCOS-II -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\Source -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Ports\ST\STM32 -I..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source -ID:\Keil\ARM\INC\ST\STM32F10x ..\..\..\..\..\uC-Probe\Target\Communication\Generic\RS-232\Source\probe_rs232.c]
                          THUMB

                          AREA ||.text||, CODE, READONLY, ALIGN=2

                  ProbeRS232_Init PROC
;;;215    void  ProbeRS232_Init (CPU_INT32U baud_rate)
;;;216    {
000000  b510              PUSH     {r4,lr}
000002  4604              MOV      r4,r0
;;;217        ProbeRS232_RxState      = PROBE_RS232_RX_STATE_SD0;             /* Setup Rx and Tx state machines                       */
000004  49ca              LDR      r1,|L1.816|
000006  2000              MOVS     r0,#0
000008  7008              STRB     r0,[r1,#0]  ; ProbeRS232_RxState
;;;218        ProbeRS232_TxState      = PROBE_RS232_TX_STATE_SD0;
00000a  49ca              LDR      r1,|L1.820|
00000c  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
;;;219    
;;;220        ProbeRS232_TxLen        = 0;
00000e  49ca              LDR      r1,|L1.824|
000010  8008              STRH     r0,[r1,#0]  ; ProbeRS232_TxLen
;;;221        ProbeRS232_TxActiveFlag = DEF_FALSE;
000012  49ca              LDR      r1,|L1.828|
000014  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxActiveFlag
;;;222        ProbeRS232_TxBufInUse   = DEF_FALSE;
000016  49ca              LDR      r1,|L1.832|
000018  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxBufInUse
;;;223    
;;;224    #if (PROBE_RS232_PARSE_TASK > 0)
;;;225        ProbeRS232_OS_Init();
00001a  f7fff7ff          BL       ProbeRS232_OS_Init
;;;226    #endif
;;;227    
;;;228        ProbeRS232_InitTarget(baud_rate);                               /* Initialize target specific code                      */
00001e  4620              MOV      r0,r4
000020  e8bde8bd          POP      {r4,lr}
000024  f7fff7ff          B.W      ProbeRS232_InitTarget
;;;229    }
;;;230    
                          ENDP

                  ProbeRS232_TxHandler PROC
;;;413    void  ProbeRS232_TxHandler (void)
;;;414    {
000028  b570              PUSH     {r4-r6,lr}
;;;415        CPU_INT08U  tx_data;
;;;416    
;;;417    
;;;418        switch (ProbeRS232_TxState) {
00002a  48c2              LDR      r0,|L1.820|
00002c  7800              LDRB     r0,[r0,#0]  ; ProbeRS232_TxState
00002e  280b              CMP      r0,#0xb
000030  f080f080          BCS.W    |L1.412|
000034  e8dfe8df          TBB      [pc,r0]
000038  06202b36          DCB      0x06,0x20,0x2b,0x36
00003c  4151636e          DCB      0x41,0x51,0x63,0x6e
000040  7996a200          DCB      0x79,0x96,0xa2,0x00
;;;419            case PROBE_RS232_TX_STATE_SD0:
;;;420                 if (ProbeRS232_TxLen > 0) {                            /* If packet is waiting to be sent                      */
000044  48bc              LDR      r0,|L1.824|
000046  8800              LDRH     r0,[r0,#0]  ; ProbeRS232_TxLen
000048  b178              CBZ      r0,|L1.106|
;;;421                     ProbeRS232_Tx1(PROBE_RS232_PROTOCOL_TX_SD0);       /*  ... Transmit start first  start delimiter (SD0)     */
00004a  2075              MOVS     r0,#0x75
00004c  f7fff7ff          BL       ProbeRS232_Tx1
;;;422                     ProbeRS232_TxCtr++;                                /*  ... Increment Tx counter                            */
000050  48bc              LDR      r0,|L1.836|
000052  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000054  1c49              ADDS     r1,r1,#1
000056  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
;;;423                     ProbeRS232_TxActiveFlag = DEF_TRUE;                /*  ... Transmit in process                             */
000058  49b8              LDR      r1,|L1.828|
00005a  2001              MOVS     r0,#1
00005c  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxActiveFlag
;;;424                     ProbeRS232_TxState      = PROBE_RS232_TX_STATE_SD1;
00005e  49b5              LDR      r1,|L1.820|
000060  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
;;;425                     ProbeRS232_TxBufRdIx    = 0;
000062  49b9              LDR      r1,|L1.840|
000064  2000              MOVS     r0,#0
000066  8008              STRH     r0,[r1,#0]  ; ProbeRS232_TxBufRdIx
;;;426    
;;;427                 } else {                                               /* If no packet is waiting to be sent                   */
;;;428                     ProbeRS232_TxActiveFlag = DEF_FALSE;               /*  ... Transmission not active                         */
;;;429                     ProbeRS232_TxIntDis();                             /*  ... Disable transmit interrupts                     */
;;;430                 }
;;;431                 break;
;;;432    
;;;433    
;;;434            case PROBE_RS232_TX_STATE_SD1:                              /* Transmit start second start delimiter (SD1)          */
;;;435                 ProbeRS232_Tx1(PROBE_RS232_PROTOCOL_TX_SD1);
;;;436                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;437                 ProbeRS232_TxState = PROBE_RS232_TX_STATE_SD2;
;;;438                 break;
;;;439    
;;;440            case PROBE_RS232_TX_STATE_SD2:                              /* Transmit start third  start delimiter (SD2)          */
;;;441                 ProbeRS232_Tx1(PROBE_RS232_PROTOCOL_TX_SD2);
;;;442                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;443                 ProbeRS232_TxState = PROBE_RS232_TX_STATE_SD3;
;;;444                 break;
;;;445    
;;;446            case PROBE_RS232_TX_STATE_SD3:                              /* Transmit start fourth start delimiter (SD3)          */
;;;447                 ProbeRS232_Tx1(PROBE_RS232_PROTOCOL_TX_SD3);
;;;448                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;449                 ProbeRS232_TxState = PROBE_RS232_TX_STATE_LEN1;
;;;450                 break;
;;;451    
;;;452    
;;;453            case PROBE_RS232_TX_STATE_LEN1:                             /* Transmit first  length byte                          */
;;;454                 tx_data             = ProbeRS232_TxLen & 0xFF;
;;;455                 ProbeRS232_Tx1(tx_data);
;;;456                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;457                 ProbeRS232_TxState  = PROBE_RS232_TX_STATE_LEN2;
;;;458                 ProbeRS232_TxChkSum = tx_data;
;;;459                 break;
;;;460    
;;;461            case PROBE_RS232_TX_STATE_LEN2:                             /* Transmit second length byte                          */
;;;462                 tx_data              = ProbeRS232_TxLen >> 8;
;;;463                 ProbeRS232_Tx1(tx_data);
;;;464                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;465                 ProbeRS232_TxState   = PROBE_RS232_TX_STATE_PAD1;
;;;466                 ProbeRS232_TxChkSum += tx_data;
;;;467                 break;
;;;468    
;;;469    
;;;470            case PROBE_RS232_TX_STATE_PAD1:                             /* Transmit first  padding byte                         */
;;;471                 ProbeRS232_Tx1(0);
;;;472                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;473                 ProbeRS232_TxState = PROBE_RS232_TX_STATE_PAD2;
;;;474                 break;
;;;475    
;;;476            case PROBE_RS232_TX_STATE_PAD2:                             /* Transmit second padding byte                         */
;;;477                 ProbeRS232_Tx1(0);
;;;478                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;479                 ProbeRS232_TxState = PROBE_RS232_TX_STATE_DATA;
;;;480                 break;
;;;481    
;;;482    
;;;483            case PROBE_RS232_TX_STATE_DATA:                             /* Transmit data                                        */
;;;484                 tx_data = ProbeRS232_TxBuf[ProbeRS232_TxBufRdIx];
;;;485                 ProbeRS232_Tx1(tx_data);
;;;486                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;487                 ProbeRS232_TxChkSum += tx_data;
;;;488                 ProbeRS232_TxBufRdIx++;
;;;489                 if (ProbeRS232_TxBufRdIx >= ProbeRS232_TxLen) {        /* ... If all data has been sent                        */
;;;490                     ProbeRS232_TxState = PROBE_RS232_TX_STATE_CHKSUM;
;;;491                     ProbeRS232_TxLen   = 0;
;;;492                 }
;;;493                 break;
;;;494    
;;;495    
;;;496            case PROBE_RS232_TX_STATE_CHKSUM:                           /* Transmit checksum                                    */
;;;497                 ProbeRS232_Tx1(ProbeRS232_TxChkSum);
;;;498                 ProbeRS232_TxCtr++;                                    /*  ... Increment Tx counter                            */
;;;499                 ProbeRS232_TxState = PROBE_RS232_TX_STATE_ED;
;;;500                 break;
;;;501    
;;;502    
;;;503            case PROBE_RS232_TX_STATE_ED:                               /* Transmit end delimiter                               */
;;;504                 ProbeRS232_Tx1(PROBE_RS232_PROTOCOL_TX_ED);
;;;505                 ProbeRS232_TxCtr++;
;;;506                 ProbeRS232_TxState    = PROBE_RS232_TX_STATE_SD0;
;;;507                 ProbeRS232_TxBufInUse = DEF_FALSE;
;;;508                 ProbeRS232_TxPktCtr++;
;;;509                 break;
;;;510    
;;;511    
;;;512            default:
;;;513                 ProbeRS232_TxState      = PROBE_RS232_TX_STATE_SD0;
;;;514                 ProbeRS232_TxActiveFlag = DEF_FALSE;
;;;515                 ProbeRS232_TxIntDis();                                 /* No more data to send, disable Tx interrupts          */
;;;516                 break;
;;;517        }
;;;518    }
000068  bd70              POP      {r4-r6,pc}
                  |L1.106|
00006a  49b4              LDR      r1,|L1.828|
00006c  2000              MOVS     r0,#0
00006e  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxActiveFlag
000070  e8bde8bd          POP      {r4-r6,lr}
000074  f7fff7ff          B.W      ProbeRS232_TxIntDis
000078  2043              MOVS     r0,#0x43
00007a  f7fff7ff          BL       ProbeRS232_Tx1
00007e  48b1              LDR      r0,|L1.836|
000080  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000082  1c49              ADDS     r1,r1,#1
000084  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000086  49ab              LDR      r1,|L1.820|
000088  2002              MOVS     r0,#2
00008a  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
00008c  bd70              POP      {r4-r6,pc}
00008e  2050              MOVS     r0,#0x50
000090  f7fff7ff          BL       ProbeRS232_Tx1
000094  48ab              LDR      r0,|L1.836|
000096  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000098  1c49              ADDS     r1,r1,#1
00009a  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
00009c  49a5              LDR      r1,|L1.820|
00009e  2003              MOVS     r0,#3
0000a0  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
0000a2  bd70              POP      {r4-r6,pc}
0000a4  2072              MOVS     r0,#0x72
0000a6  f7fff7ff          BL       ProbeRS232_Tx1
0000aa  48a6              LDR      r0,|L1.836|
0000ac  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
0000ae  1c49              ADDS     r1,r1,#1
0000b0  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
0000b2  49a0              LDR      r1,|L1.820|
0000b4  2004              MOVS     r0,#4
0000b6  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
0000b8  bd70              POP      {r4-r6,pc}
0000ba  489f              LDR      r0,|L1.824|
0000bc  8800              LDRH     r0,[r0,#0]  ; ProbeRS232_TxLen
0000be  b2c4              UXTB     r4,r0
0000c0  4620              MOV      r0,r4
0000c2  f7fff7ff          BL       ProbeRS232_Tx1
0000c6  489f              LDR      r0,|L1.836|
0000c8  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
0000ca  1c49              ADDS     r1,r1,#1
0000cc  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
0000ce  4999              LDR      r1,|L1.820|
0000d0  2005              MOVS     r0,#5
0000d2  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
0000d4  489d              LDR      r0,|L1.844|
0000d6  7004              STRB     r4,[r0,#0]  ; ProbeRS232_TxChkSum
0000d8  bd70              POP      {r4-r6,pc}
0000da  4897              LDR      r0,|L1.824|
0000dc  8800              LDRH     r0,[r0,#0]  ; ProbeRS232_TxLen
0000de  0a04              LSRS     r4,r0,#8
0000e0  4620              MOV      r0,r4
0000e2  f7fff7ff          BL       ProbeRS232_Tx1
0000e6  4897              LDR      r0,|L1.836|
0000e8  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
0000ea  1c49              ADDS     r1,r1,#1
0000ec  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
0000ee  4991              LDR      r1,|L1.820|
0000f0  2006              MOVS     r0,#6
0000f2  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
0000f4  4895              LDR      r0,|L1.844|
0000f6  7801              LDRB     r1,[r0,#0]  ; ProbeRS232_TxChkSum
0000f8  4421              ADD      r1,r1,r4
0000fa  7001              STRB     r1,[r0,#0]  ; ProbeRS232_TxChkSum
0000fc  bd70              POP      {r4-r6,pc}
0000fe  2000              MOVS     r0,#0
000100  f7fff7ff          BL       ProbeRS232_Tx1
000104  488f              LDR      r0,|L1.836|
000106  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000108  1c49              ADDS     r1,r1,#1
00010a  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
00010c  4989              LDR      r1,|L1.820|
00010e  2007              MOVS     r0,#7
000110  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
000112  bd70              POP      {r4-r6,pc}
000114  2000              MOVS     r0,#0
000116  f7fff7ff          BL       ProbeRS232_Tx1
00011a  488a              LDR      r0,|L1.836|
00011c  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
00011e  1c49              ADDS     r1,r1,#1
000120  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000122  4984              LDR      r1,|L1.820|
000124  2008              MOVS     r0,#8
000126  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
                  |L1.296|

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -