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

📄 uart.txt

📁 该模板使用于周立功公司研发的EasyARM2100系列开发板
💻 TXT
📖 第 1 页 / 共 3 页
字号:
                          ENDP

                  UART1_SendByte PROC
;;;194    void  UART1_SendByte(uint8 data)
;;;195    {  U1THR = data;				    // 发送数据
0004a8  e59f1164          LDR      r1,|L1.1556|
0004ac  e5c10000          STRB     r0,[r1,#0]
;;;196       IO0SET=M485_EN;
0004b0  e3a01a02          MOV      r1,#0x2000
0004b4  e59f2154          LDR      r2,|L1.1552|
0004b8  e5821004          STR      r1,[r2,#4]
;;;197       while( (U1LSR&0x40)==0 ){;}	    // 等待数据发送完毕
0004bc  e1a00000          MOV      r0,r0
                  |L1.1216|
0004c0  e59f114c          LDR      r1,|L1.1556|
0004c4  e5d11014          LDRB     r1,[r1,#0x14]
0004c8  e3110040          TST      r1,#0x40
0004cc  0afffffb          BEQ      |L1.1216|
;;;198       IO0CLR=M485_EN;
0004d0  e3a01a02          MOV      r1,#0x2000
0004d4  e59f2134          LDR      r2,|L1.1552|
0004d8  e582100c          STR      r1,[r2,#0xc]
;;;199    }
0004dc  e12fff1e          BX       lr
;;;200    /****************************************************************************
                          ENDP

                  UART0_SendStr PROC
;;;206    void  UART0_SendStr(uint8 const *str)
;;;207    {  while(1)
0004e0  e52de004          PUSH     {lr}
0004e4  e1a02000          MOV      r2,r0
0004e8  ea000005          B        |L1.1284|
                  |L1.1260|
;;;208       {  if( *str == '\0' ) break;
0004ec  e5d20000          LDRB     r0,[r2,#0]
0004f0  e3500000          CMP      r0,#0
0004f4  1a000000          BNE      |L1.1276|
0004f8  ea000002          B        |L1.1288|
                  |L1.1276|
;;;209          UART0_SendByte(*str++);	    // 发送数据
0004fc  e4d20001          LDRB     r0,[r2],#1
000500  ebfffffe          BL       UART0_SendByte
                  |L1.1284|
000504  eafffff8          B        |L1.1260|
                  |L1.1288|
000508  e1a00000          MOV      r0,r0                 ;208
;;;210       }
;;;211    }
00050c  e49de004          POP      {lr}
000510  e12fff1e          BX       lr
;;;212    
                          ENDP

                  SendByte0 PROC
;;;221    { 
;;;222     U0THR = data;                      	// 发送数据
000514  e59f10c8          LDR      r1,|L1.1508|
000518  e5c10000          STRB     r0,[r1,#0]
;;;223    }
00051c  e12fff1e          BX       lr
;;;224    /****************************************************************************
                          ENDP

                  SendByte1 PROC
;;;231    {  
;;;232     U1THR = data;                      	// 发送数据
000520  e59f10ec          LDR      r1,|L1.1556|
000524  e5c10000          STRB     r0,[r1,#0]
;;;233    }
000528  e12fff1e          BX       lr
;;;234    
                          ENDP

                  ISendBuf0 PROC
;;;242    void  ISendBuf0(void)
;;;243    {  uint8  i;
00052c  e52de004          PUSH     {lr}
;;;244             /* if(0)
;;;245              {
;;;246                rcv_buf[15]=0x08;	
;;;247                rcv_buf[0]=0x11;
;;;248    			rcv_buf[1]=0x12;	
;;;249    			rcv_buf[2]=0x13;	
;;;250    			rcv_buf[3]=0x14;	
;;;251    			rcv_buf[4]=0x15;	
;;;252    			rcv_buf[5]=0x16;	
;;;253    			rcv_buf[6]=0x17;	
;;;254    			rcv_buf[7]=0x18;	
;;;255    			rcv_buf[8]=0x19;
;;;256    			rcv_buf[9]=0x20;	
;;;257    			rcv_buf[10]=0x21;	
;;;258    			rcv_buf[11]=0x22;	
;;;259    			rcv_buf[12]=0x23;	
;;;260    			rcv_buf[13]=0x24;	
;;;261    			rcv_buf[14]=0x25;
;;;262    		  }	*/
;;;263      for(i=0; i<16; i++) SendByte0(i);
000530  e3a02000          MOV      r2,#0
000534  ea000003          B        |L1.1352|
                  |L1.1336|
000538  e1a00002          MOV      r0,r2
00053c  ebfffffe          BL       SendByte0
000540  e2820001          ADD      r0,r2,#1
000544  e20020ff          AND      r2,r0,#0xff
                  |L1.1352|
000548  e3520010          CMP      r2,#0x10
00054c  bafffff9          BLT      |L1.1336|
;;;264       while( (U0LSR&0x20)==0 );         	// 等待数据发送
000550  e1a00000          MOV      r0,r0
                  |L1.1364|
000554  e59f0088          LDR      r0,|L1.1508|
000558  e5d00014          LDRB     r0,[r0,#0x14]
00055c  e3100020          TST      r0,#0x20
000560  0afffffb          BEQ      |L1.1364|
;;;265    }               
000564  e49de004          POP      {lr}
000568  e12fff1e          BX       lr
;;;266    /****************************************************************************
                          ENDP

                  ISendBuf1 PROC
;;;273    void  ISendBuf1(void)
;;;274    {  uint8  i;
00056c  e52de004          PUSH     {lr}
;;;275       IO0SET|=M485_EN;
000570  e59f0098          LDR      r0,|L1.1552|
000574  e5900004          LDR      r0,[r0,#4]
000578  e3800a02          ORR      r0,r0,#0x2000
00057c  e59f108c          LDR      r1,|L1.1552|
000580  e5810004          STR      r0,[r1,#4]
;;;276       for(i=0; i<16; i++)
000584  e3a03000          MOV      r3,#0
000588  ea000004          B        |L1.1440|
                  |L1.1420|
;;;277       {
;;;278         SendByte1(rcv_buf1[i]);   
00058c  e59f1088          LDR      r1,|L1.1564|
000590  e7d10003          LDRB     r0,[r1,r3]
000594  ebfffffe          BL       SendByte1
000598  e2830001          ADD      r0,r3,#1              ;276
00059c  e20030ff          AND      r3,r0,#0xff           ;276
                  |L1.1440|
0005a0  e3530010          CMP      r3,#0x10              ;276
0005a4  bafffff8          BLT      |L1.1420|
;;;279       }
;;;280       while( (U1LSR&0x20)==0 ){;}         	// 等待数据发送
0005a8  e1a00000          MOV      r0,r0
                  |L1.1452|
0005ac  e59f0060          LDR      r0,|L1.1556|
0005b0  e5d00014          LDRB     r0,[r0,#0x14]
0005b4  e3100020          TST      r0,#0x20
0005b8  0afffffb          BEQ      |L1.1452|
;;;281       DelayNS(1);
0005bc  e3a00001          MOV      r0,#1
0005c0  ebfffffe          BL       DelayNS
;;;282       IO0CLR|=M485_EN;
0005c4  e59f0044          LDR      r0,|L1.1552|
0005c8  e590000c          LDR      r0,[r0,#0xc]
0005cc  e3800a02          ORR      r0,r0,#0x2000
0005d0  e59f1038          LDR      r1,|L1.1552|
0005d4  e581000c          STR      r0,[r1,#0xc]
;;;283    }               
0005d8  e49de004          POP      {lr}
0005dc  e12fff1e          BX       lr
;;;284    
                          ENDP

                  |L1.1504|
0005e0  0000c350          DCD      0x0000c350
                  |L1.1508|
0005e4  e000c000          DCD      0xe000c000
                  |L1.1512|
0005e8  00000000          DCD      no_full
                  |L1.1516|
0005ec  00000000          DCD      head_buff
                  |L1.1520|
0005f0  00000000          DCD      n
                  |L1.1524|
0005f4  00000000          DCD      j
                  |L1.1528|
0005f8  00000000          DCD      verify
                  |L1.1532|
0005fc  00000000          DCD      recve_length
                  |L1.1536|
000600  00000000          DCD      rcv_new
                  |L1.1540|
000604  00000000          DCD      rcv_buf
                  |L1.1544|
000608  00000000          DCD      answer_falg
                  |L1.1548|
00060c  000a8c00          DCD      0x000a8c00
                  |L1.1552|
000610  e0028000          DCD      0xe0028000
                  |L1.1556|
000614  e0010000          DCD      0xe0010000
                  |L1.1560|
000618  00000000          DCD      uart1_rec_flag
                  |L1.1564|
00061c  00000000          DCD      rcv_buf1
                  |L1.1568|
000620  00000000          DCD      rcv_new1

                          AREA ||.data||, DATA, ALIGN=0

                  uart0_rec_flag
000000  00                DCB      0x00
                  n
000001  00                DCB      0x00
                  j
000002  00                DCB      0x00
                  uart1_rec_flag
000003  00                DCB      0x00
                  rcv_new
000004  00                DCB      0x00
                  rcv_new1
000005  00                DCB      0x00
                  answer_falg
000006  00                DCB      0x00
                  temp
000007  00                DCB      0x00
                  head_cnt
000008  00                DCB      0x00
                  verify
000009  00                DCB      0x00
                  no_full
00000a  00                DCB      0x00
                  head_buff
00000b  00000000          DCDU     0x00000000
00000f  0000              DCB      0x00,0x00
                  recve_length
000011  00                DCB      0x00

                          AREA ||.bss||, DATA, NOINIT, ALIGN=0

                  rcv_buf
                          %        40
                  rcv_buf1
                          %        16

⌨️ 快捷键说明

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