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

📄 main.lis

📁 网卡驱动程序
💻 LIS
📖 第 1 页 / 共 2 页
字号:
                        .module Main.c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
                        .area data(ram, con, rel)
 0000                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0000           _MY_IP::
 0000                   .blkb 2
                        .area idata
 0000 C0A8              .byte 192,168
                        .area data(ram, con, rel)
 0002                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0002                   .blkb 2
                        .area idata
 0002 01C9              .byte 1,201
                        .area data(ram, con, rel)
 0004                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0004                   .dbsym e MY_IP _MY_IP A[4:4]c
 0004           _MY_PORT::
 0004                   .blkb 2
                        .area idata
 0004 2328              .byte 35,40
                        .area data(ram, con, rel)
 0006                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0006                   .dbsym e MY_PORT _MY_PORT A[2:2]c
 0006           _MY_MAC::
 0006                   .blkb 2
                        .area idata
 0006 0000              .byte 0,0
                        .area data(ram, con, rel)
 0008                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0008                   .blkb 2
                        .area idata
 0008 6162              .byte 'a,'b
                        .area data(ram, con, rel)
 000A                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 000A                   .blkb 2
                        .area idata
 000A 6364              .byte 'c,'d
                        .area data(ram, con, rel)
 000C                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 000C                   .dbsym e MY_MAC _MY_MAC A[6:6]c
 000C           _REMOTE_IP::
 000C                   .blkb 2
                        .area idata
 000C C0A8              .byte 192,168
                        .area data(ram, con, rel)
 000E                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 000E                   .blkb 2
                        .area idata
 000E 01A0              .byte 1,160
                        .area data(ram, con, rel)
 0010                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0010                   .dbsym e REMOTE_IP _REMOTE_IP A[4:4]c
 0010           _REMOTE_PORT::
 0010                   .blkb 2
                        .area idata
 0010 2328              .byte 35,40
                        .area data(ram, con, rel)
 0012                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0012                   .dbsym e REMOTE_PORT _REMOTE_PORT A[2:2]c
 0012           _REMOTE_MAC::
 0012                   .blkb 2
                        .area idata
 0012 0010              .byte 0,16
                        .area data(ram, con, rel)
 0014                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0014                   .blkb 2
                        .area idata
 0014 B5AC              .byte 181,172
                        .area data(ram, con, rel)
 0016                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0016                   .blkb 2
                        .area idata
 0016 F131              .byte 241,49
                        .area data(ram, con, rel)
 0018                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0018                   .dbsym e REMOTE_MAC _REMOTE_MAC A[6:6]c
                        .area text(rom, con, rel)
 0000                   .dbfile E:\__test\_RTL8019_M128_struct_Test\Main.c
 0000                   .dbfunc e main _main fV
                        .even
 0000           _main::
 0000                   .dbline -1
 0000                   .dbline 53
 0000           ; //*01. 本程序的晶体为 7.3728mHz  ATMEGA128 
 0000           ; //*02. 网卡板UDP的IP: 192.168.1.201          
 0000           ; //*03. 网卡板UDP的端口: 9000                 
 0000           ; //*04. 网卡板MAC: { 0, 0, 'a', 'b', 'c', 'd' }     
 0000           ; //*05. 网卡板: 192.168.1.201  9000          
 0000           ; //*06. 远程电脑IP: 192.168.1.160            
 0000           ; //*07. 远程电脑端口: 9000                   
 0000           ; //*08. 远程电脑MAC: { 0, 0x10, 0xB5, 0xAC, 0xF1, 0x31 }  
 0000           ; //*09. 无网关(GATE)
 0000           ; //*10. 无子网掩码(MASK)
 0000           ; 
 0000           ; //#include <string.h>
 0000           ; //#include <stdio.h>
 0000           ; #include <iom128v.h>
 0000           ; #include <macros.h>
 0000           ; 
 0000           ; #include "Delay_7.37M.h"
 0000           ; #include "Lcd7920.h"
 0000           ; #include "Usart1_M128.h"
 0000           ; #include "Rtl8019as_Ethernet_M128.h"
 0000           ; #include "Rtl8019as_M128.h"
 0000           ; 
 0000           ; //设置网络默认值
 0000           ; unsigned char MY_IP[4] = { 192,168,1,201 };
 0000           ; unsigned char MY_PORT[2] = { 0x23,0x28 }; //端口9000
 0000           ; unsigned char MY_MAC[6] = { 0,0,'a','b','c','d' };
 0000           ; 
 0000           ; unsigned char REMOTE_IP[4] = { 192,168,1,160};
 0000           ; unsigned char REMOTE_PORT[2] = { 0x23,0x28 }; //端口9000
 0000           ; unsigned char REMOTE_MAC[6] = { 0,0x10,0xB5,0xAC,0xF1,0x31 };
 0000           ; 
 0000           ; #define  set_packet32(d,s) packet[d] = make8(s,3);   \
 0000           ;                            packet[d+1] = make8(s,2); \
 0000           ;                            packet[d+2] = make8(s,1); \
 0000           ;                            packet[d+3]= make8(s,0); 
 0000           ;                                                  
 0000           ; #define make8(var,offset)     (var >> (offset * 8)) & 0xFF
 0000           ; #define       make16(varhigh,varlow)  ((varhigh & 0xFF)* 0x100) + (varlow & 0xFF)
 0000           ; #define make32(var1,var2,var3,var4) \
 0000           ;               ((unsigned long)var1<<24)+((unsigned long)var2<<16)+ \
 0000           ;               ((unsigned long)var3<<8)+((unsigned long)var4)          
 0000           ; 
 0000           ; unsigned char  flg_arp;   
 0000           ; 
 0000           ; 
 0000           ; void DoWithUart(void);     //处理串口接收
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; 
 0000           ; void main(void)
 0000           ; {
 0000                   .dbline 54
 0000           ;    CLI();
 0000 F894              cli
 0002                   .dbline 55
 0002           ;    UART1_Init();   //串口初始化要放在8019初始化前面,以免向串口发空乱数据   
 0002 0E940000          xcall _UART1_Init
 0006                   .dbline 56
 0006           ;    LCD_Init();
 0006 0E940000          xcall _LCD_Init
 000A                   .dbline 64
 000A           ;   
 000A           ;    ////init_RTL8019AS();
 000A           ; 
 000A           ;    ////clr_synflag;
 000A           ;    ////clr_finflag;
 000A           ;    
 000A           ;    //网络数据初始化  (--以后改用memcpy)
 000A           ;    nodRemote.cIp[0]= REMOTE_IP[0];
 000A 20900C00          lds R2,_REMOTE_IP
 000E 20920600          sts _nodRemote+6,R2
 0012                   .dbline 65
 0012           ;    nodRemote.cIp[1]= REMOTE_IP[1];
 0012 20900D00          lds R2,_REMOTE_IP+1
 0016 20920700          sts _nodRemote+6+1,R2
 001A                   .dbline 66
 001A           ;    nodRemote.cIp[2]= REMOTE_IP[2];
 001A 20900E00          lds R2,_REMOTE_IP+2
 001E 20920800          sts _nodRemote+6+2,R2
 0022                   .dbline 67
 0022           ;    nodRemote.cIp[3]= REMOTE_IP[3];   
 0022 20900F00          lds R2,_REMOTE_IP+3
 0026 20920900          sts _nodRemote+6+3,R2
 002A                   .dbline 68
 002A           ;    nodRemote.cPort[0]=REMOTE_PORT[0];
 002A 20901000          lds R2,_REMOTE_PORT
 002E 20920A00          sts _nodRemote+10,R2
 0032                   .dbline 69
 0032           ;    nodRemote.cPort[1]=REMOTE_PORT[1];   
 0032 20901100          lds R2,_REMOTE_PORT+1
 0036 20920B00          sts _nodRemote+10+1,R2
 003A                   .dbline 70
 003A           ;    nodRemote.cMac[0]= REMOTE_MAC[0];
 003A 20901200          lds R2,_REMOTE_MAC
 003E 20920000          sts _nodRemote,R2
 0042                   .dbline 71
 0042           ;    nodRemote.cMac[1]= REMOTE_MAC[1];
 0042 20901300          lds R2,_REMOTE_MAC+1
 0046 20920100          sts _nodRemote+1,R2
 004A                   .dbline 72
 004A           ;    nodRemote.cMac[2]= REMOTE_MAC[2];
 004A 20901400          lds R2,_REMOTE_MAC+2
 004E 20920200          sts _nodRemote+2,R2
 0052                   .dbline 73
 0052           ;    nodRemote.cMac[3]= REMOTE_MAC[3];
 0052 20901500          lds R2,_REMOTE_MAC+3
 0056 20920300          sts _nodRemote+3,R2
 005A                   .dbline 74
 005A           ;    nodRemote.cMac[4]= REMOTE_MAC[4];
 005A 20901600          lds R2,_REMOTE_MAC+4
 005E 20920400          sts _nodRemote+4,R2
 0062                   .dbline 75
 0062           ;    nodRemote.cMac[5]= REMOTE_MAC[5];
 0062 20901700          lds R2,_REMOTE_MAC+5
 0066 20920500          sts _nodRemote+5,R2
 006A                   .dbline 77
 006A           ;    
 006A           ;    nodLoc.cIp[0]=MY_IP[0];
 006A 20900000          lds R2,_MY_IP
 006E 20920600          sts _nodLoc+6,R2
 0072                   .dbline 78
 0072           ;    nodLoc.cIp[1]=MY_IP[1];
 0072 20900100          lds R2,_MY_IP+1
 0076 20920700          sts _nodLoc+6+1,R2
 007A                   .dbline 79
 007A           ;    nodLoc.cIp[2]=MY_IP[2];
 007A 20900200          lds R2,_MY_IP+2
 007E 20920800          sts _nodLoc+6+2,R2
 0082                   .dbline 80
 0082           ;    nodLoc.cIp[3]=MY_IP[3];
 0082 20900300          lds R2,_MY_IP+3
 0086 20920900          sts _nodLoc+6+3,R2
 008A                   .dbline 81
 008A           ;    nodLoc.cPort[0]=MY_PORT[0];
 008A 20900400          lds R2,_MY_PORT
 008E 20920A00          sts _nodLoc+10,R2
 0092                   .dbline 82
 0092           ;    nodLoc.cPort[1]=MY_PORT[1];   
 0092 20900500          lds R2,_MY_PORT+1
 0096 20920B00          sts _nodLoc+10+1,R2
 009A                   .dbline 83
 009A           ;    nodLoc.cMac[0]= MY_MAC[0];
 009A 20900600          lds R2,_MY_MAC
 009E 20920000          sts _nodLoc,R2
 00A2                   .dbline 84
 00A2           ;    nodLoc.cMac[1]= MY_MAC[1];
 00A2 20900700          lds R2,_MY_MAC+1
 00A6 20920100          sts _nodLoc+1,R2
 00AA                   .dbline 85
 00AA           ;    nodLoc.cMac[2]= MY_MAC[2];
 00AA 20900800          lds R2,_MY_MAC+2
 00AE 20920200          sts _nodLoc+2,R2
 00B2                   .dbline 86
 00B2           ;    nodLoc.cMac[3]= MY_MAC[3];
 00B2 20900900          lds R2,_MY_MAC+3
 00B6 20920300          sts _nodLoc+3,R2
 00BA                   .dbline 87
 00BA           ;    nodLoc.cMac[4]= MY_MAC[4];
 00BA 20900A00          lds R2,_MY_MAC+4
 00BE 20920400          sts _nodLoc+4,R2
 00C2                   .dbline 88
 00C2           ;    nodLoc.cMac[5]= MY_MAC[5];
 00C2 20900B00          lds R2,_MY_MAC+5
 00C6 20920500          sts _nodLoc+5,R2
 00CA                   .dbline 90
 00CA           ;    
 00CA           ;    flg_arp='f';
 00CA 86E6              ldi R24,102
 00CC 80930000          sts _flg_arp,R24
 00D0                   .dbline 94
 00D0           ;    
 00D0           ;    //delay_ms(1500);  //keep it, wait for arp 
 00D0           ;    
 00D0           ;    LCD_WriteStrAuto("Wan tst 080123B");
 00D0 00E0              ldi R16,<L65
 00D2 10E0              ldi R17,>L65
 00D4 0E940000          xcall _LCD_WriteStrAuto
 00D8                   .dbline 95
 00D8           ;    SEI();
 00D8 7894              sei
 00DA                   .dbline 97
 00DA           ;    
 00DA           ;    UART1_Puts("12345abc");
 00DA 00E0              ldi R16,<L66
 00DC 10E0              ldi R17,>L66
 00DE 0E940000          xcall _UART1_Puts
 00E2 05C0              xjmp L68
 00E4           L67:
 00E4                   .dbline 103
 00E4           ;  
 00E4           ; //******************************************************************
 00E4           ; //*   Look for a packet in the receive buffer ring
 00E4           ; //******************************************************************
 00E4           ;    while(1)
 00E4           ;    {   
 00E4                   .dbline 107
 00E4           ;       //Delay_nms_Preci(1500);  
 00E4           ;          
 00E4           ;            //串口接收处理
 00E4           ;          if (flg_Received )   
 00E4 20900000          lds R2,_flg_Received
 00E8 2220              tst R2
 00EA 09F0              breq L70
 00EC           X0:
 00EC                   .dbline 108
 00EC           ;            {
 00EC                   .dbline 109
 00EC           ;               DoWithUart();     
 00EC 02D0              xcall _DoWithUart
 00EE                   .dbline 110
 00EE           ;            }   
 00EE           L70:
 00EE                   .dbline 157
 00EE           ; 
 00EE           ; /*      //start the NIC
 00EE           ;       write_rtl(CR,0x22);               
 00EE           ; 
 00EE           ;       //wait for a good packet
 00EE           ;       while(!(PIND & INT0_pin))  //循环, 直到INT0为高电平, 执行后面的程序
 00EE           ;         {
 00EE           ;          //if (flg_arp=='f')  
 00EE           ;          //{ 
 00EE           ;          //   sendarp(); delay_ms(350);
 00EE           ;          // }  
 00EE           ;                 

⌨️ 快捷键说明

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