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

📄 probe_rs232.txt

📁 ucos2.86版本结合STM板极支持包
💻 TXT
📖 第 1 页 / 共 3 页
字号:
000128  bd70              POP      {r4-r6,pc}
00012a  4d87              LDR      r5,|L1.840|
00012c  4888              LDR      r0,|L1.848|
00012e  8829              LDRH     r1,[r5,#0]  ; ProbeRS232_TxBufRdIx
000130  5c44              LDRB     r4,[r0,r1]
000132  4620              MOV      r0,r4
000134  f7fff7ff          BL       ProbeRS232_Tx1
000138  4882              LDR      r0,|L1.836|
00013a  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
00013c  1c49              ADDS     r1,r1,#1
00013e  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000140  4882              LDR      r0,|L1.844|
000142  7801              LDRB     r1,[r0,#0]  ; ProbeRS232_TxChkSum
000144  4421              ADD      r1,r1,r4
000146  7001              STRB     r1,[r0,#0]  ; ProbeRS232_TxChkSum
000148  8828              LDRH     r0,[r5,#0]  ; ProbeRS232_TxBufRdIx
00014a  1c40              ADDS     r0,r0,#1
00014c  b280              UXTH     r0,r0
00014e  8028              STRH     r0,[r5,#0]  ; ProbeRS232_TxBufRdIx
000150  4979              LDR      r1,|L1.824|
000152  880a              LDRH     r2,[r1,#0]  ; ProbeRS232_TxLen
000154  4290              CMP      r0,r2
000156  d3e7              BCC      |L1.296|
000158  4a76              LDR      r2,|L1.820|
00015a  2009              MOVS     r0,#9
00015c  7010              STRB     r0,[r2,#0]  ; ProbeRS232_TxState
00015e  2000              MOVS     r0,#0
000160  8008              STRH     r0,[r1,#0]  ; ProbeRS232_TxLen
000162  bd70              POP      {r4-r6,pc}
000164  4879              LDR      r0,|L1.844|
000166  7800              LDRB     r0,[r0,#0]  ; ProbeRS232_TxChkSum
000168  f7fff7ff          BL       ProbeRS232_Tx1
00016c  4875              LDR      r0,|L1.836|
00016e  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000170  1c49              ADDS     r1,r1,#1
000172  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000174  496f              LDR      r1,|L1.820|
000176  200a              MOVS     r0,#0xa
000178  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
00017a  bd70              POP      {r4-r6,pc}
00017c  202f              MOVS     r0,#0x2f
00017e  f7fff7ff          BL       ProbeRS232_Tx1
000182  4870              LDR      r0,|L1.836|
000184  6881              LDR      r1,[r0,#8]  ; ProbeRS232_TxCtr
000186  1c49              ADDS     r1,r1,#1
000188  6081              STR      r1,[r0,#8]  ; ProbeRS232_TxCtr
00018a  4a6a              LDR      r2,|L1.820|
00018c  2100              MOVS     r1,#0
00018e  7011              STRB     r1,[r2,#0]  ; ProbeRS232_TxState
000190  4a6b              LDR      r2,|L1.832|
000192  7011              STRB     r1,[r2,#0]  ; ProbeRS232_TxBufInUse
000194  68c1              LDR      r1,[r0,#0xc]  ; ProbeRS232_TxPktCtr
000196  1c49              ADDS     r1,r1,#1
000198  60c1              STR      r1,[r0,#0xc]  ; ProbeRS232_TxPktCtr
00019a  bd70              POP      {r4-r6,pc}
                  |L1.412|
00019c  4965              LDR      r1,|L1.820|
00019e  2000              MOVS     r0,#0
0001a0  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxState
0001a2  4966              LDR      r1,|L1.828|
0001a4  7008              STRB     r0,[r1,#0]  ; ProbeRS232_TxActiveFlag
0001a6  e8bde8bd          POP      {r4-r6,lr}
0001aa  f7fff7ff          B.W      ProbeRS232_TxIntDis
;;;519    
                          ENDP

                  ProbeRS232_TxStart PROC
;;;666    static  void  ProbeRS232_TxStart (void)
;;;667    {
0001ae  b510              PUSH     {r4,lr}
;;;668        if (ProbeRS232_TxActiveFlag == DEF_FALSE) {                     /* If no other transmission is in progress              */
0001b0  4862              LDR      r0,|L1.828|
0001b2  7800              LDRB     r0,[r0,#0]  ; ProbeRS232_TxActiveFlag
0001b4  2800              CMP      r0,#0
0001b6  d105              BNE      |L1.452|
;;;669            ProbeRS232_TxHandler();                                     /*  ... Handle transmit                                 */
0001b8  f7fff7ff          BL       ProbeRS232_TxHandler
;;;670            ProbeRS232_TxIntEn();                                       /*  ... Enable transmit interrupts                      */
0001bc  e8bde8bd          POP      {r4,lr}
0001c0  f7fff7ff          B.W      ProbeRS232_TxIntEn
                  |L1.452|
;;;671        }
;;;672    }
0001c4  bd10              POP      {r4,pc}
                          ENDP

                  ProbeRS232_ParseRxPkt PROC
;;;545    
;;;546        if (ProbeRS232_TxBufInUse == DEF_TRUE) {                        /* Do cmds only if Tx buffer is free                    */
0001c6  485e              LDR      r0,|L1.832|
0001c8  7801              LDRB     r1,[r0,#0]  ; ProbeRS232_TxBufInUse
0001ca  2901              CMP      r1,#1
0001cc  d101              BNE      |L1.466|
;;;547            return (0);
0001ce  2000              MOVS     r0,#0
;;;548        }
;;;549    
;;;550        ProbeRS232_TxBufInUse = DEF_TRUE;
;;;551        temp                  = ProbeCom_ParseRxPkt((void *)ProbeRS232_RxBuf,
;;;552                                                    (void *)ProbeRS232_TxBuf,
;;;553                                                            ProbeRS232_RxLen,
;;;554                                                            PROBE_RS232_TX_BUF_SIZE);
;;;555    
;;;556        return (temp);
;;;557    }
0001d0  4770              BX       lr
                  |L1.466|
0001d2  2101              MOVS     r1,#1
0001d4  7001              STRB     r1,[r0,#0]  ; ProbeRS232_TxBufInUse
0001d6  485f              LDR      r0,|L1.852|
0001d8  2340              MOVS     r3,#0x40
0001da  8802              LDRH     r2,[r0,#0]  ; ProbeRS232_RxLen
0001dc  495c              LDR      r1,|L1.848|
0001de  485e              LDR      r0,|L1.856|
0001e0  f7fff7ff          B.W      ProbeCom_ParseRxPkt
;;;558    
                          ENDP

                  ProbeRS232_Task PROC
;;;253    void  ProbeRS232_Task (void *p_arg)
;;;254    {
0001e4  b510              PUSH     {r4,lr}
0001e6  4c54              LDR      r4,|L1.824|
                  |L1.488|
;;;255        CPU_INT16U     len;
;;;256    
;;;257    
;;;258        (void)p_arg;
;;;259    
;;;260        while (DEF_TRUE) {
;;;261            ProbeRS232_OS_Pend();                                       /* Wait for a packet to be received                     */
0001e8  f7fff7ff          BL       ProbeRS232_OS_Pend
;;;262    
;;;263            len = ProbeRS232_ParseRxPkt();                              /* Parse packet and formulate a response                */
0001ec  f7fff7ff          BL       ProbeRS232_ParseRxPkt
;;;264    
;;;265            if (len > 0) {                                              /* If we have a response                                */
0001f0  2800              CMP      r0,#0
0001f2  d0f9              BEQ      |L1.488|
;;;266                ProbeRS232_TxLen = len;
0001f4  8020              STRH     r0,[r4,#0]  ; ProbeRS232_TxLen
;;;267                ProbeRS232_TxStart();
0001f6  f7fff7ff          BL       ProbeRS232_TxStart
0001fa  e7f5              B        |L1.488|
;;;268            }
;;;269        }
;;;270    }
;;;271    #endif
                          ENDP

                  ProbeRS232_RxPkt PROC
;;;582    #if (PROBE_RS232_PARSE_TASK > 0)
;;;583        ProbeRS232_OS_Post();                                           /* We have a whole packet, signal task to parse it      */
0001fc  f7fff7ff          B.W      ProbeRS232_OS_Post
;;;584    
;;;585    
;;;586    
;;;587    #else
;;;588    
;;;589    
;;;590    
;;;591    #if (CPU_CFG_CRITICAL_METHOD == CPU_CRITICAL_METHOD_STATUS_LOCAL)
;;;592        CPU_SR      cpu_sr = 0;
;;;593    #endif
;;;594        CPU_INT16U  len;
;;;595    
;;;596    
;;;597        len = ProbeRS232_ParseRxPkt();                                  /* We have a whole packet, parse it                     */
;;;598        if (len > 0) {
;;;599            CPU_CRITICAL_ENTER();
;;;600            ProbeRS232_TxLen = len;
;;;601            ProbeRS232_TxStart();
;;;602            CPU_CRITICAL_EXIT();
;;;603        }
;;;604    #endif
;;;605    }
;;;606    
                          ENDP

                  ProbeRS232_RxStoINT8U PROC
;;;621    {
;;;622        if (ProbeRS232_RxBufWrIx < PROBE_RS232_RX_BUF_SIZE) {
000200  4a56              LDR      r2,|L1.860|
000202  8811              LDRH     r1,[r2,#0]  ; ProbeRS232_RxBufWrIx
000204  2940              CMP      r1,#0x40
000206  d203              BCS      |L1.528|
;;;623            ProbeRS232_RxBuf[ProbeRS232_RxBufWrIx++] = rx_data;
000208  1c4b              ADDS     r3,r1,#1
00020a  8013              STRH     r3,[r2,#0]  ; ProbeRS232_RxBufWrIx
00020c  4a52              LDR      r2,|L1.856|
00020e  5450              STRB     r0,[r2,r1]
                  |L1.528|
;;;624        }
;;;625    }
000210  4770              BX       lr
;;;626    
                          ENDP

                  ProbeRS232_RxBufClr PROC
;;;641    {
;;;642        ProbeRS232_RxBufWrIx = 0;
000212  4952              LDR      r1,|L1.860|
000214  2000              MOVS     r0,#0
000216  8008              STRH     r0,[r1,#0]  ; ProbeRS232_RxBufWrIx
;;;643    }
000218  4770              BX       lr
;;;644    
                          ENDP

                  ProbeRS232_RxHandler PROC
;;;294    void  ProbeRS232_RxHandler (CPU_INT08U rx_data)
;;;295    {
00021a  b510              PUSH     {r4,lr}
00021c  4604              MOV      r4,r0
;;;296        ProbeRS232_RxCtr++;
00021e  4849              LDR      r0,|L1.836|
000220  6801              LDR      r1,[r0,#0]  ; ProbeRS232_RxCtr
000222  1c49              ADDS     r1,r1,#1
000224  6001              STR      r1,[r0,#0]  ; ProbeRS232_RxCtr
;;;297    
;;;298        switch (ProbeRS232_RxState) {
000226  4842              LDR      r0,|L1.816|
000228  7800              LDRB     r0,[r0,#0]  ; ProbeRS232_RxState
00022a  280b              CMP      r0,#0xb
00022c  d27b              BCS      |L1.806|
00022e  e8dfe8df          TBB      [pc,r0]
000232  060e1822          DCB      0x06,0x0e,0x18,0x22
000236  2c344b4f          DCB      0x2c,0x34,0x4b,0x4f
00023a  53656d00          DCB      0x53,0x65,0x6d,0x00
;;;299    
;;;300            case PROBE_RS232_RX_STATE_SD0:                              /* Receive the start first  start delimiter (SD0)       */
;;;301                 if (rx_data == PROBE_RS232_PROTOCOL_RX_SD0) {
00023e  2c75              CMP      r4,#0x75
000240  d10a              BNE      |L1.600|
;;;302                     ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD1;
000242  493b              LDR      r1,|L1.816|
000244  2001              MOVS     r0,#1
000246  7008              STRB     r0,[r1,#0]  ; ProbeRS232_RxState
;;;303                     ProbeRS232_RxBufClr();
000248  e8bde8bd          POP      {r4,lr}
00024c  e7fe              B        ProbeRS232_RxBufClr
;;;304                 }
;;;305                 break;
;;;306    
;;;307            case PROBE_RS232_RX_STATE_SD1:                              /* Receive the start second start delimiter (SD1)       */
;;;308                 if (rx_data == PROBE_RS232_PROTOCOL_RX_SD1) {
00024e  2c43              CMP      r4,#0x43
000250  d103              BNE      |L1.602|
;;;309                     ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD2;
000252  4937              LDR      r1,|L1.816|
000254  2002              MOVS     r0,#2
000256  7008              STRB     r0,[r1,#0]  ; ProbeRS232_RxState
                  |L1.600|
;;;310                 } else {
;;;311                     ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
;;;312                 }
;;;313                 break;
;;;314    
;;;315            case PROBE_RS232_RX_STATE_SD2:                              /* Receive the start third  start delimiter (SD2)       */
;;;316                 if (rx_data == PROBE_RS232_PROTOCOL_RX_SD2) {
;;;317                     ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD3;
;;;318                 } else {
;;;319                     ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
;;;320                 }

⌨️ 快捷键说明

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