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

📄 main.lst

📁 在AT91SAM7X256的开发板上实现 串口通信
💻 LST
📖 第 1 页 / 共 2 页
字号:
     55           		((unsigned int) AT91C_PA4_CTS0    ), // Peripheral A
     56           		0); // Peripheral B
   \   00000002   1B20               MOV         R0,#+0x1B
   \   00000004   2349               LDR         R1,??main_0        ;; 0xfffff470
   \   00000006   0860               STR         R0,[R1, #+0]
   \   00000008   0024               MOV         R4,#+0
   \   0000000A   2349               LDR         R1,??main_0+0x4    ;; 0xfffff474
   \   0000000C   0C60               STR         R4,[R1, #+0]
   \   0000000E   2349               LDR         R1,??main_0+0x8    ;; 0xfffff404
   \   00000010   0860               STR         R0,[R1, #+0]
     57          
     58             	// First, enable the clock of the USART
     59                  //每个外设都有ID号,USART0的ID为AT91C_ID_US0 = 6,对任何一个外设,都要先对它打开时钟
     60              	AT91F_PMC_EnablePeriphClock ( AT91C_BASE_PMC, 1 << AT91C_ID_US0 ) ;
   \   00000012   2348               LDR         R0,??main_0+0xC    ;; 0xfffffc10
   \   00000014   4021               MOV         R1,#+0x40
   \   00000016   0160               STR         R1,[R0, #+0]
     61          	// Usart Configure,配置USART0的基地址(指针),频率(PLL输出时钟),串口异步模式,波特率,timeguard
     62                  AT91F_US_Configure (COM0, AT91B_MCK, AT91C_US_ASYNC_MODE, AT91_BAUD_RATE, 0);
   \   00000018   2248               LDR         R0,??main_0+0x10   ;; 0xfffc000c
   \   0000001A   0021               MOV         R1,#+0
   \   0000001C   C943               MVN         R1,R1              ;; #-1
   \   0000001E   0160               STR         R1,[R0, #+0]
   \   00000020   214E               LDR         R6,??main_0+0x14   ;; 0xfffc0000
   \   00000022   AC20               MOV         R0,#+0xAC
   \   00000024   3060               STR         R0,[R6, #+0]
   \   00000026   2148               LDR         R0,??main_0+0x18   ;; 0xfffc0020
   \   00000028   FF21               MOV         R1,#+0xFF
   \   0000002A   3A31               ADD         R1,#+0x3A          ;; #+0x139
   \   0000002C   0160               STR         R1,[R0, #+0]
   \   0000002E   2048               LDR         R0,??main_0+0x1C   ;; 0xfffc0028
   \   00000030   0460               STR         R4,[R0, #+0]
   \   00000032   204D               LDR         R5,??main_0+0x20   ;; 0xfffc0100
   \   00000034   281C               MOV         R0,R5
   \   00000036   ........           _BLF        AT91F_PDC_Open,AT91F_PDC_Open??rT
   \   0000003A   1F48               LDR         R0,??main_0+0x24   ;; 0xfffc0004
   \   0000003C   8C21               MOV         R1,#+0x8C
   \   0000003E   0901               LSL         R1,R1,#+0x4        ;; #+0x8C0
   \   00000040   0160               STR         R1,[R0, #+0]
     63          
     64          	// Enable usart ,在串口控制寄存器里US_CR,把RXEN和TXEN相应的两个位置1,就表明串口使能。
     65          	COM0->US_CR = AT91C_US_RXEN | AT91C_US_TXEN;
   \   00000042   5020               MOV         R0,#+0x50
   \   00000044   3060               STR         R0,[R6, #+0]
     66          
     67                 //单纯的向串口发字符,并不考虑串口是否准备好了发送
     68          	AT91F_US_PutChar (COM0,'X');
   \   00000046   1D48               LDR         R0,??main_0+0x28   ;; 0xfffc001c
   \   00000048   5821               MOV         R1,#+0x58
   \   0000004A   0160               STR         R1,[R0, #+0]
     69                  //发送帧,检查准备好后发送,根据串口不同的状态 返回不同的值
     70                 // while(1)
     71           	AT91F_US_SendFrame(COM0,(char *)atmel_header,sizeof(atmel_header),(char *)BJTU,sizeof(BJTU));
   \   0000004C   1C48               LDR         R0,??main_0+0x2C   ;; ??atmel_header
   \   0000004E   4E21               MOV         R1,#+0x4E
   \   00000050   1C4A               LDR         R2,??main_0+0x30   ;; 0xfffc0118
   \   00000052   1D4B               LDR         R3,??main_0+0x34   ;; 0xfffc011c
   \   00000054   1D4E               LDR         R6,??main_0+0x38   ;; 0xfffc010c
   \   00000056   3768               LDR         R7,[R6, #+0]
   \   00000058   002F               CMP         R7,#+0
   \   0000005A   07D1               BNE         ??main_1
   \   0000005C   1C4F               LDR         R7,??main_0+0x3C   ;; 0xfffc0108
   \   0000005E   3860               STR         R0,[R7, #+0]
   \   00000060   3160               STR         R1,[R6, #+0]
   \   00000062   5030               ADD         R0,#+0x50
   \   00000064   1060               STR         R0,[R2, #+0]
   \   00000066   2420               MOV         R0,#+0x24
   \   00000068   1860               STR         R0,[R3, #+0]
   \   0000006A   09E0               B           ??main_2
   \                     ??main_1:
   \   0000006C   1E68               LDR         R6,[R3, #+0]
   \   0000006E   002E               CMP         R6,#+0
   \   00000070   06D1               BNE         ??main_2
   \   00000072   1060               STR         R0,[R2, #+0]
   \   00000074   1960               STR         R1,[R3, #+0]
   \   00000076   03E0               B           ??main_2
     72                 //接收数据,存放在数组rx里。
     73                  while(1)
                               ^
Remark[Pe236]: controlling expression is constant
     74                  AT91F_US_ReceiveFrame (COM0,(char *)rx,sizeof(rx),0,0);
   \                     ??main_3:
   \   00000078   2860               STR         R0,[R5, #+0]
   \   0000007A   3160               STR         R1,[R6, #+0]
   \   0000007C   1460               STR         R4,[R2, #+0]
   \   0000007E   1C60               STR         R4,[R3, #+0]
   \                     ??main_2:
   \   00000080   1448               LDR         R0,??main_0+0x40   ;; rx
   \   00000082   6421               MOV         R1,#+0x64
   \   00000084   144A               LDR         R2,??main_0+0x44   ;; 0xfffc0110
   \   00000086   154B               LDR         R3,??main_0+0x48   ;; 0xfffc0114
   \   00000088   154E               LDR         R6,??main_0+0x4C   ;; 0xfffc0104
   \   0000008A   3768               LDR         R7,[R6, #+0]
   \   0000008C   002F               CMP         R7,#+0
   \   0000008E   F3D0               BEQ         ??main_3
   \   00000090   ECE7               B           ??main_1
   \   00000092   C046               NOP         
   \                     ??main_0:
   \   00000094   70F4FFFF           DC32        0xfffff470
   \   00000098   74F4FFFF           DC32        0xfffff474
   \   0000009C   04F4FFFF           DC32        0xfffff404
   \   000000A0   10FCFFFF           DC32        0xfffffc10
   \   000000A4   0C00FCFF           DC32        0xfffc000c
   \   000000A8   0000FCFF           DC32        0xfffc0000
   \   000000AC   2000FCFF           DC32        0xfffc0020
   \   000000B0   2800FCFF           DC32        0xfffc0028
   \   000000B4   0001FCFF           DC32        0xfffc0100
   \   000000B8   0400FCFF           DC32        0xfffc0004
   \   000000BC   1C00FCFF           DC32        0xfffc001c
   \   000000C0   ........           DC32        ??atmel_header
   \   000000C4   1801FCFF           DC32        0xfffc0118
   \   000000C8   1C01FCFF           DC32        0xfffc011c
   \   000000CC   0C01FCFF           DC32        0xfffc010c
   \   000000D0   0801FCFF           DC32        0xfffc0108
   \   000000D4   ........           DC32        rx
   \   000000D8   1001FCFF           DC32        0xfffc0110
   \   000000DC   1401FCFF           DC32        0xfffc0114
   \   000000E0   0401FCFF           DC32        0xfffc0104
     75          
     76          //* End
     77          }

   Maximum stack usage in bytes:

     Function       CSTACK
     --------       ------
     AT91F_PDC_Open     0
     main              28


   Segment part sizes:

     Function/Label Bytes
     -------------- -----
     AT91F_PDC_Open   36
     atmel_header    116
     rx              100
     main            228
      Others          28

 
 280 bytes in segment CODE
 116 bytes in segment DATA_C
 100 bytes in segment DATA_Z
  12 bytes in segment INITTAB
 
 228 bytes of CODE  memory (+ 64 bytes shared)
 116 bytes of CONST memory
 100 bytes of DATA  memory

Errors: none
Warnings: none

⌨️ 快捷键说明

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