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

📄 probe_rs232.lst

📁 编译环境是 iar EWARM ,STM32 下的UCOSII
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \                     ProbeRS232_RxHandler:
   \   00000000   70B5               PUSH     {R4-R6,LR}
    304          #if (PROBE_COM_STAT_EN == DEF_ENABLED)
    305              ProbeRS232_RxCtr++;
   \   00000002   ....               LDR.N    R4,??DataTable4  ;; ProbeRS232_RxState
   \   00000004   E168               LDR      R1,[R4, #+12]
   \   00000006   491C               ADDS     R1,R1,#+1
   \   00000008   E160               STR      R1,[R4, #+12]
    306          #endif
    307          
    308              switch (ProbeRS232_RxState) {
   \   0000000A   A688               LDRH     R6,[R4, #+4]
   \   0000000C   0025               MOVS     R5,#+0
   \   0000000E   2178               LDRB     R1,[R4, #+0]
   \   00000010   0A29               CMP      R1,#+10
   \   00000012   4CD8               BHI.N    ??ProbeRS232_RxHandler_1
   \   00000014   DFE801F0           TBB      [PC, R1]
   \                     ??ProbeRS232_RxHandler_0:
   \   00000018   060D141B           DC8      +6,+13,+20,+27
   \   0000001C   22263235           DC8      +34,+38,+50,+53
   \   00000020   38424500           DC8      +56,+66,+69,+0
    309                  case PROBE_RS232_RX_STATE_SD0:                          /* Rx'd the start 1st start delimiter (SD0).            */
    310                       if (rx_data == PROBE_RS232_PROTOCOL_RX_SD0) {
   \                     ??ProbeRS232_RxHandler_2:
   \   00000024   7528               CMP      R0,#+117
   \   00000026   43D1               BNE.N    ??ProbeRS232_RxHandler_3
    311                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD1;
   \   00000028   0120               MOVS     R0,#+1
   \   0000002A   2070               STRB     R0,[R4, #+0]
    312                           ProbeRS232_RxBufClr();
   \   0000002C   ........           BL       ProbeRS232_RxBufClr
   \   00000030   70BD               POP      {R4-R6,PC}
    313                       }
    314                       break;
    315          
    316          
    317                  case PROBE_RS232_RX_STATE_SD1:                          /* Rx'd the start 2nd start delimiter (SD1).            */
    318                       if (rx_data == PROBE_RS232_PROTOCOL_RX_SD1) {
   \                     ??ProbeRS232_RxHandler_4:
   \   00000032   4328               CMP      R0,#+67
   \   00000034   02D1               BNE.N    ??ProbeRS232_RxHandler_5
    319                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD2;
   \   00000036   0220               MOVS     R0,#+2
   \   00000038   2070               STRB     R0,[R4, #+0]
   \   0000003A   70BD               POP      {R4-R6,PC}
    320                       } else {
    321                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
   \                     ??ProbeRS232_RxHandler_5:
   \   0000003C   2570               STRB     R5,[R4, #+0]
   \   0000003E   70BD               POP      {R4-R6,PC}
    322                       }
    323                       break;
    324          
    325          
    326                  case PROBE_RS232_RX_STATE_SD2:                          /* Rx'd the start 3rd start delimiter (SD2).            */
    327                       if (rx_data == PROBE_RS232_PROTOCOL_RX_SD2) {
   \                     ??ProbeRS232_RxHandler_6:
   \   00000040   5028               CMP      R0,#+80
   \   00000042   02D1               BNE.N    ??ProbeRS232_RxHandler_7
    328                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD3;
   \   00000044   0320               MOVS     R0,#+3
   \   00000046   2070               STRB     R0,[R4, #+0]
   \   00000048   70BD               POP      {R4-R6,PC}
    329                       } else {
    330                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
   \                     ??ProbeRS232_RxHandler_7:
   \   0000004A   2570               STRB     R5,[R4, #+0]
   \   0000004C   70BD               POP      {R4-R6,PC}
    331                       }
    332                       break;
    333          
    334          
    335                  case PROBE_RS232_RX_STATE_SD3:                          /* Rx'd the start 4th start delimiter (SD3).            */
    336                       if (rx_data == PROBE_RS232_PROTOCOL_RX_SD3) {
   \                     ??ProbeRS232_RxHandler_8:
   \   0000004E   7228               CMP      R0,#+114
   \   00000050   02D1               BNE.N    ??ProbeRS232_RxHandler_9
    337                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_LEN1;
   \   00000052   0420               MOVS     R0,#+4
   \   00000054   2070               STRB     R0,[R4, #+0]
   \   00000056   70BD               POP      {R4-R6,PC}
    338                       } else {
    339                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
   \                     ??ProbeRS232_RxHandler_9:
   \   00000058   2570               STRB     R5,[R4, #+0]
   \   0000005A   70BD               POP      {R4-R6,PC}
    340                       }
    341                       break;
    342          
    343          
    344                  case PROBE_RS232_RX_STATE_LEN1:                         /* Rx'd the 1st len byte.                               */
    345          #if (PROBE_RS232_USE_CHECKSUM == DEF_TRUE)
    346                       ProbeRS232_RxChkSum    = rx_data;
    347          #endif
    348                       ProbeRS232_RxRemainLen = rx_data;
   \                     ??ProbeRS232_RxHandler_10:
   \   0000005C   A080               STRH     R0,[R4, #+4]
    349                       ProbeRS232_RxState     = PROBE_RS232_RX_STATE_LEN2;
   \   0000005E   0520               MOVS     R0,#+5
   \   00000060   2070               STRB     R0,[R4, #+0]
   \   00000062   70BD               POP      {R4-R6,PC}
    350                       break;
    351          
    352          
    353                  case PROBE_RS232_RX_STATE_LEN2:                         /* Rx'd the 2nd len byte.                               */
    354          #if (PROBE_RS232_USE_CHECKSUM == DEF_TRUE)
    355                       ProbeRS232_RxChkSum    += rx_data;
    356          #endif
    357                       ProbeRS232_RxRemainLen |= rx_data << 8;
   \                     ??ProbeRS232_RxHandler_11:
   \   00000064   56EA0020           ORRS     R0,R6,R0, LSL #+8
   \   00000068   A080               STRH     R0,[R4, #+4]
    358          
    359                                                                          /* Chk len.                                             */
    360                       if ((ProbeRS232_RxRemainLen == 0) || (ProbeRS232_RxRemainLen > PROBE_RS232_RX_BUF_SIZE)) {
   \   0000006A   01D0               BEQ.N    ??ProbeRS232_RxHandler_12
   \   0000006C   8128               CMP      R0,#+129
   \   0000006E   01D3               BCC.N    ??ProbeRS232_RxHandler_13
    361                           ProbeRS232_RxState  = PROBE_RS232_RX_STATE_SD0;
   \                     ??ProbeRS232_RxHandler_12:
   \   00000070   2570               STRB     R5,[R4, #+0]
   \   00000072   70BD               POP      {R4-R6,PC}
    362                       } else {
    363                           ProbeRS232_RxLen    = ProbeRS232_RxRemainLen;
   \                     ??ProbeRS232_RxHandler_13:
   \   00000074   E080               STRH     R0,[R4, #+6]
    364                           ProbeRS232_RxState  = PROBE_RS232_RX_STATE_PAD1;
   \   00000076   0620               MOVS     R0,#+6
   \   00000078   2070               STRB     R0,[R4, #+0]
   \   0000007A   70BD               POP      {R4-R6,PC}
    365                       }
    366                       break;
    367          
    368          
    369                  case PROBE_RS232_RX_STATE_PAD1:                         /* Rx'd the 1st padding byte.                           */
    370                       ProbeRS232_RxState = PROBE_RS232_RX_STATE_PAD2;
   \                     ??ProbeRS232_RxHandler_14:
   \   0000007C   0720               MOVS     R0,#+7
   \   0000007E   2070               STRB     R0,[R4, #+0]
   \   00000080   70BD               POP      {R4-R6,PC}
    371                       break;
    372          
    373          
    374                  case PROBE_RS232_RX_STATE_PAD2:                         /* Rx'd the 2nd  padding byte.                          */
    375                       ProbeRS232_RxState = PROBE_RS232_RX_STATE_DATA;
   \                     ??ProbeRS232_RxHandler_15:
   \   00000082   0820               MOVS     R0,#+8
   \   00000084   2070               STRB     R0,[R4, #+0]
   \   00000086   70BD               POP      {R4-R6,PC}
    376                       break;
    377          
    378          
    379                  case PROBE_RS232_RX_STATE_DATA:                         /* Rx'd data.                                           */
    380                       ProbeRS232_RxStoINT8U(rx_data);
   \                     ??ProbeRS232_RxHandler_16:
   \   00000088   ........           BL       ProbeRS232_RxStoINT8U
    381          #if (PROBE_RS232_USE_CHECKSUM == DEF_TRUE)
    382                       ProbeRS232_RxChkSum += rx_data;
    383          #endif
    384                       if (--ProbeRS232_RxRemainLen == 0) {
   \   0000008C   761E               SUBS     R6,R6,#+1
   \   0000008E   A680               STRH     R6,[R4, #+4]
   \   00000090   B6B2               UXTH     R6,R6
   \   00000092   002E               CMP      R6,#+0
   \   00000094   0CD1               BNE.N    ??ProbeRS232_RxHandler_3
    385                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_CHKSUM;
   \   00000096   0920               MOVS     R0,#+9
   \   00000098   2070               STRB     R0,[R4, #+0]
   \   0000009A   70BD               POP      {R4-R6,PC}
    386                       }
    387                       break;
    388          
    389          
    390                  case PROBE_RS232_RX_STATE_CHKSUM:                       /* Rx'd the checksum.                                   */
    391          #if (PROBE_RS232_USE_CHECKSUM == DEF_TRUE)
    392                       ProbeRS232_RxChkSum += rx_data;
    393                       if ((ProbeRS232_RxChkSum & 0xFF) == 0x00) {
    394                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_ED;
    395                       } else {
    396                           ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
    397                       }
    398          #else
    399                       ProbeRS232_RxState = PROBE_RS232_RX_STATE_ED;
   \                     ??ProbeRS232_RxHandler_17:
   \   0000009C   0A20               MOVS     R0,#+10
   \   0000009E   2070               STRB     R0,[R4, #+0]
   \   000000A0   70BD               POP      {R4-R6,PC}
    400          #endif
    401                       break;
    402          
    403          
    404                  case PROBE_RS232_RX_STATE_ED:                           /* Rx'd the end delimiter.                              */
    405                       if (rx_data == PROBE_RS232_PROTOCOL_RX_ED) {
   \                     ??ProbeRS232_RxHandler_18:
   \   000000A2   2F28               CMP      R0,#+47
   \   000000A4   01D1               BNE.N    ??ProbeRS232_RxHandler_19
    406                           ProbeRS232_RxPkt();                            /* Parse rx'd pkt.                                      */
   \   000000A6   ........           BL       ProbeRS232_RxPkt
    407                       }
    408                       ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
   \                     ??ProbeRS232_RxHandler_19:
   \   000000AA   2570               STRB     R5,[R4, #+0]
   \   000000AC   70BD               POP      {R4-R6,PC}
    409                       break;
    410          
    411          
    412                  default:
    413                       ProbeRS232_RxState = PROBE_RS232_RX_STATE_SD0;
   \                     ??ProbeRS232_RxHandler_1:
   \   000000AE   2570               STRB     R5,[R4, #+0]
    414                       break;
    415              }
    416          }
   \                     ??ProbeRS232_RxHandler_3:

⌨️ 快捷键说明

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