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

📄 uart.lst

📁 完成数据的采集
💻 LST
📖 第 1 页 / 共 4 页
字号:
   \   000000A4   2DD0               BEQ.N    ??Uart1Isr_6
   \   000000A6   ....               LDR.N    R1,??DataTable53  ;; 0x727
   \   000000A8   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   000000AA   ........           BL       USART_GetITStatus
   \   000000AE   0128               CMP      R0,#+1
   \   000000B0   27D1               BNE.N    ??Uart1Isr_6
     75            {
     76            	USART_ClearFlag(USART1,USART_FLAG_TXE);
   \   000000B2   8021               MOVS     R1,#+128
   \   000000B4   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   000000B6   ........           BL       USART_ClearFlag
     77            	USART1_485TXD; 
   \   000000BA   ....               LDR.N    R0,??DataTable52  ;; 0x4001080c
   \   000000BC   0068               LDR      R0,[R0, #+0]
   \   000000BE   0821               MOVS     R1,#+8
   \   000000C0   8843               BICS     R0,R0,R1
   \   000000C2   ....               LDR.N    R1,??DataTable52  ;; 0x4001080c
   \   000000C4   0860               STR      R0,[R1, #+0]
     78              if(FifoPop(pUart1TxFifo,USART1));
   \   000000C6   ....               LDR.N    R1,??DataTable36  ;; 0x40013800
   \   000000C8   ....               LDR.N    R0,??DataTable50  ;; pUart1TxFifo
   \   000000CA   0068               LDR      R0,[R0, #+0]
   \   000000CC   ........           BL       FifoPop
   \   000000D0   0028               CMP      R0,#+0
   \   000000D2   16D1               BNE.N    ??Uart1Isr_6
     79              else
     80              {
     81                USART_ITConfig(USART1,USART_IT_TXE ,DISABLE);//USART_IT_TXE指明是CRx,
   \   000000D4   0022               MOVS     R2,#+0
   \   000000D6   ....               LDR.N    R1,??DataTable53  ;; 0x727
   \   000000D8   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   000000DA   ........           BL       USART_ITConfig
     82                USART1_485RXD;
   \   000000DE   ....               LDR.N    R0,??DataTable52  ;; 0x4001080c
   \   000000E0   0068               LDR      R0,[R0, #+0]
   \   000000E2   50F00800           ORRS     R0,R0,#0x8
   \   000000E6   ....               LDR.N    R1,??DataTable52  ;; 0x4001080c
   \   000000E8   0860               STR      R0,[R1, #+0]
     83                pUart1RxFifo->UsartStatus=pUart1TxFifo->UsartStatus=0;
   \   000000EA   0020               MOVS     R0,#+0
   \   000000EC   ....               LDR.N    R1,??DataTable50  ;; pUart1TxFifo
   \   000000EE   0968               LDR      R1,[R1, #+0]
   \   000000F0   4871               STRB     R0,[R1, #+5]
   \   000000F2   ....               LDR.N    R1,??DataTable26  ;; pUart1RxFifo
   \   000000F4   0968               LDR      R1,[R1, #+0]
   \   000000F6   4871               STRB     R0,[R1, #+5]
     84                USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
   \   000000F8   0122               MOVS     R2,#+1
   \   000000FA   ....               LDR.N    R1,??DataTable40  ;; 0x525
   \   000000FC   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   000000FE   ........           BL       USART_ITConfig
     85              }
     86            }
     87            //if(Uart1RxFifo.PushIndx>20)
     88            //USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);
     89             //uart=USART1->SR;    
     90             //uart=USART1->DR; 
     91             //uart=USART1->CR1  ;
     92            
     93          }
   \                     ??Uart1Isr_6:
   \   00000102   01B0               ADD      SP,SP,#+4
   \   00000104   00BD               POP      {PC}             ;; return
   \   00000106   00BF               Nop      
   \                     ??Uart1Isr_1:
   \   00000108   ........           DC32     Uart1LineEvents
     94          /****************************************************
     95          *
     96          *
     97          *****************************************************/

   \                                 In section .XML, align 4, keep-with-next
     98          Boolean	UsartRXD(pUartFifo_t Fifo,pUartFifo_t TFifo)
     99          {
   \                     UsartRXD:
   \   00000000   F1B5               PUSH     {R0,R4-R7,LR}
   \   00000002   0400               MOVS     R4,R0
   \   00000004   0D00               MOVS     R5,R1
    100          	Int16U	x,x1;
    101                  x=0;
   \   00000006   0020               MOVS     R0,#+0
   \   00000008   0600               MOVS     R6,R0
    102          	if(Fifo->UsartStatus!=0)
   \   0000000A   6079               LDRB     R0,[R4, #+5]
   \   0000000C   0028               CMP      R0,#+0
   \   0000000E   0ED0               BEQ.N    ??UsartRXD_0
    103                  {
    104                    USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);
   \   00000010   0022               MOVS     R2,#+0
   \   00000012   ....               LDR.N    R1,??DataTable40  ;; 0x525
   \   00000014   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   00000016   ........           BL       USART_ITConfig
    105                    if(++TFifo->Timer>=250) Fifo->UsartStatus=0;
   \   0000001A   2879               LDRB     R0,[R5, #+4]
   \   0000001C   401C               ADDS     R0,R0,#+1
   \   0000001E   2871               STRB     R0,[R5, #+4]
   \   00000020   C0B2               UXTB     R0,R0            ;; ZeroExtS R0,R0,#+24,#+24
   \   00000022   FA28               CMP      R0,#+250
   \   00000024   01D3               BCC.N    ??UsartRXD_1
   \   00000026   0020               MOVS     R0,#+0
   \   00000028   6071               STRB     R0,[R4, #+5]
    106                    return FALSE;
   \                     ??UsartRXD_1:
   \   0000002A   0020               MOVS     R0,#+0
   \   0000002C   4FE0               B.N      ??UsartRXD_2
    107                  }
    108          	USART1_485RXD;
   \                     ??UsartRXD_0:
   \   0000002E   ....               LDR.N    R0,??DataTable52  ;; 0x4001080c
   \   00000030   0068               LDR      R0,[R0, #+0]
   \   00000032   50F00800           ORRS     R0,R0,#0x8
   \   00000036   ....               LDR.N    R1,??DataTable52  ;; 0x4001080c
   \   00000038   0860               STR      R0,[R1, #+0]
    109                  TFifo->Timer=0;
   \   0000003A   0020               MOVS     R0,#+0
   \   0000003C   2871               STRB     R0,[R5, #+4]
    110                  ++Fifo->Timer;
   \   0000003E   2079               LDRB     R0,[R4, #+4]
   \   00000040   401C               ADDS     R0,R0,#+1
   \   00000042   2071               STRB     R0,[R4, #+4]
    111          	if((Fifo->PushIndx!=0)&&(Fifo->Timer>=C_FifoRxd)) //
   \   00000044   2088               LDRH     R0,[R4, #+0]
   \   00000046   0028               CMP      R0,#+0
   \   00000048   34D0               BEQ.N    ??UsartRXD_3
   \   0000004A   2079               LDRB     R0,[R4, #+4]
   \   0000004C   0328               CMP      R0,#+3
   \   0000004E   31D3               BCC.N    ??UsartRXD_3
    112          		{ 
    113                                  if(Fifo->PushIndx>=2)
   \   00000050   2088               LDRH     R0,[R4, #+0]
   \   00000052   0228               CMP      R0,#+2
   \   00000054   02D3               BCC.N    ??UsartRXD_4
    114          			x=Fifo->PushIndx-2;                    
   \   00000056   2088               LDRH     R0,[R4, #+0]
   \   00000058   801E               SUBS     R0,R0,#+2
   \   0000005A   0600               MOVS     R6,R0
    115          			x1=Fifo->Buffer[x+1];
   \                     ??UsartRXD_4:
   \   0000005C   B6B2               UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
   \   0000005E   A019               ADDS     R0,R4,R6
   \   00000060   C079               LDRB     R0,[R0, #+7]
   \   00000062   0700               MOVS     R7,R0
    116                                  x1<<=8;
   \   00000064   BFB2               UXTH     R7,R7            ;; ZeroExtS R7,R7,#+16,#+16
   \   00000066   3F02               LSLS     R7,R7,#+8
    117          			x1+=Fifo->Buffer[x];	
   \   00000068   B6B2               UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
   \   0000006A   A019               ADDS     R0,R4,R6
   \   0000006C   8079               LDRB     R0,[R0, #+6]
   \   0000006E   3F18               ADDS     R7,R7,R0
    118          			x=cal_crc(Fifo->Buffer,(Int8U)x);
   \   00000070   3100               MOVS     R1,R6
   \   00000072   C9B2               UXTB     R1,R1            ;; ZeroExtS R1,R1,#+24,#+24
   \   00000074   2000               MOVS     R0,R4
   \   00000076   801D               ADDS     R0,R0,#+6
   \   00000078   ........           BL       cal_crc
   \   0000007C   0600               MOVS     R6,R0
    119          			if((x==x1)&&(Fifo->Buffer[0]==_YT._ELE[0]))
   \   0000007E   B6B2               UXTH     R6,R6            ;; ZeroExtS R6,R6,#+16,#+16
   \   00000080   BFB2               UXTH     R7,R7            ;; ZeroExtS R7,R7,#+16,#+16
   \   00000082   BE42               CMP      R6,R7
   \   00000084   11D1               BNE.N    ??UsartRXD_5
   \   00000086   A079               LDRB     R0,[R4, #+6]
   \   00000088   1249               LDR.N    R1,??UsartRXD_6  ;; _YT
   \   0000008A   0988               LDRH     R1,[R1, #+0]
   \   0000008C   80B2               UXTH     R0,R0            ;; ZeroExtS R0,R0,#+16,#+16
   \   0000008E   8842               CMP      R0,R1
   \   00000090   0BD1               BNE.N    ??UsartRXD_5
    120          			{       
    121                                          USART_ITConfig(USART1,USART_IT_RXNE,DISABLE);
   \   00000092   0022               MOVS     R2,#+0
   \   00000094   ....               LDR.N    R1,??DataTable40  ;; 0x525
   \   00000096   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   00000098   ........           BL       USART_ITConfig
    122          				Fifo->Timer=Fifo->PushIndx=0;
   \   0000009C   0020               MOVS     R0,#+0
   \   0000009E   2080               STRH     R0,[R4, #+0]
   \   000000A0   2071               STRB     R0,[R4, #+4]
    123          				Fifo->UsartStatus=1;                                                         
   \   000000A2   0120               MOVS     R0,#+1
   \   000000A4   6071               STRB     R0,[R4, #+5]
    124          				return TRUE;
   \   000000A6   0120               MOVS     R0,#+1
   \   000000A8   11E0               B.N      ??UsartRXD_2
    125          			}
    126                                  Fifo->Timer=0,Fifo->PushIndx=0;//USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
   \                     ??UsartRXD_5:
   \   000000AA   0020               MOVS     R0,#+0
   \   000000AC   2071               STRB     R0,[R4, #+4]
   \   000000AE   0020               MOVS     R0,#+0
   \   000000B0   2080               STRH     R0,[R4, #+0]
   \   000000B2   0BE0               B.N      ??UsartRXD_7
    127          		}else    
    128          	if(Fifo->Timer>=C_FifoRxd)
   \                     ??UsartRXD_3:
   \   000000B4   2079               LDRB     R0,[R4, #+4]
   \   000000B6   0328               CMP      R0,#+3
   \   000000B8   08D3               BCC.N    ??UsartRXD_7
    129          	{
    130          		Fifo->Timer=0,Fifo->PushIndx=0;//没收到数据
   \   000000BA   0020               MOVS     R0,#+0
   \   000000BC   2071               STRB     R0,[R4, #+4]
   \   000000BE   0020               MOVS     R0,#+0
   \   000000C0   2080               STRH     R0,[R4, #+0]
    131          		 
    132          		USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//接收非空使能
   \   000000C2   0122               MOVS     R2,#+1
   \   000000C4   ....               LDR.N    R1,??DataTable40  ;; 0x525
   \   000000C6   ....               LDR.N    R0,??DataTable36  ;; 0x40013800
   \   000000C8   ........           BL       USART_ITConfig
    133          	        
    134                  }
    135                         
    136          		return 	FALSE;
   \                     ??UsartRXD_7:
   \   000000CC   0020               MOVS     R0,#+0
   \                     ??UsartRXD_2:
   \   000000CE   01B0               ADD      SP,SP,#+4
   \   000000D0   F0BD               POP      {R4-R7,PC}       ;; return
   \   000000D2   00BF               Nop      
   \                     ??UsartRXD_6:
   \   000000D4   ........           DC32     _YT
    137          }
    138          

   \                                 In section .XML, align 4, keep-with-next
    139          Boolean	UsartTXD(pUartFifo_t TFifo,pUartFifo_t RFifo,Int16U *pos)
    140          {
   \                     UsartTXD:
   \   00000000   F1B5               PUSH     {R0,R4-R7,LR}
   \   00000002   0400               MOVS     R4,R0
   \   00000004   0D00               MOVS     R5,R1
   \   00000006   1700               MOVS     R7,R2
    141            Int16U    a,b;
    142            //RFifo->Buffer[5]=10,RFifo->Buffer[3]=0,RFifo->Buffer[1]=3;
    143          #if 1
    144          	if((RFifo->UsartStatus==0)||(RFifo->Buffer[C_RX_ADDR]!=*pos))
   \   00000008   6879               LDRB     R0,[R5, #+5]
   \   0000000A   0028               CMP      R0,#+0
   \   0000000C   04D0               BEQ.N    ??UsartTXD_0
   \   0000000E   A879               LDRB     R0,[R5, #+6]

⌨️ 快捷键说明

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