📄 cp220x_eth.lst
字号:
C51 COMPILER V7.05 CP220X_ETH 07/31/2006 17:57:04 PAGE 1
C51 COMPILER V7.05, COMPILATION OF MODULE CP220X_ETH
OBJECT MODULE PLACED IN CP220x_ETH.OBJ
COMPILER INVOKED BY: C:\silabs20060419\IDEfiles\C51\BIN\C51.exe CP220x_ETH.c DB OE
stmt level source
*** WARNING C500 IN LINE 1 OF CP220X_ETH.C: MISSING DEVICE (SECURITY KEY NOT FOUND)
1 //-----------------------------------------------------------------------------
2 // CP220x_ETH.c
3 //-----------------------------------------------------------------------------
4 // Copyright 2006 Silicon Laboratories, Inc.
5 // http://www.silabs.com
6 //
7 // Program Description:
8 //
9 // This file contains basic send and receive functions for the CP220x.
10 //
11 // FID:
12 // Target: Multiple
13 // Tool chain: Keil C51 7.20 / Keil EVAL C51
14 // Silicon Laboratories IDE version 2.72
15 // Command Line: See Readme.txt
16 // Project Name: CP220x_Ethernet_Routines
17 //
18 //
19 //
20 // Release 1.0
21 // -Initial Release (FB)
22 // -30 MAY 2006
23 //
24
25 //-----------------------------------------------------------------------------
26 // Includes
27 //-----------------------------------------------------------------------------
28 #include "global.h"
*** WARNING C318 IN LINE 28 OF CP220x_ETH.c: can't open file 'global.h'
29
30 //-----------------------------------------------------------------------------
31 // Function Prototypes
32 //-----------------------------------------------------------------------------
33 void CP220x_Send( MACADDRESS* pDestAddr, unsigned char* buffer,
*** ERROR C141 IN LINE 33 OF CP220X_ETH.C: syntax error near '*', expected ')'
34 unsigned int buffer_length, unsigned int packet_type);
35
36 unsigned int CP220x_Receive(unsigned char* buffer, unsigned int buffer_length);
37
38 //-----------------------------------------------------------------------------
39 // CP220x_Send
40 //-----------------------------------------------------------------------------
41 //
42 // Return Value : None
43 // Parameters :
44 // 1) MACADDRESS* pDestAddr - destination MAC address.
45 // 2) unsigned char* buffer - address of payload.
46 // 3) unsigned int buffer_length - length of payload.
47 // 4) unsigned int packet_type - contents of Ethertype field.
48 //
49 // This function sends an IEEE 802.3 Ethernet packet using the CP220x.
50 // Upon entry, there should be valid data in array <buffer>.
51 //
52 // (8 bytes) 48-bit 48-bit 16-bit 0-1500 bytes
C51 COMPILER V7.05 CP220X_ETH 07/31/2006 17:57:04 PAGE 2
53 // ----------------------------------------------------------------------
54 // | Preamble| SFD | Dest |Source| Type/Length |Data Field | Pad | FCS |
55 // | | | Addr | Addr | Field | | | (CRC) |
56 // ----------------------------------------------------------------------
57 // supplied by | supplied by the MCU | supplied
58 // CP220x | (minimum 64 bytes) | by CP220x
59 //
60 //
61 //-----------------------------------------------------------------------------
62 void CP220x_Send( MACADDRESS* pDestAddr, unsigned char* buffer,
*** ERROR C141 IN LINE 62 OF CP220X_ETH.C: syntax error near '*', expected ')'
63 unsigned int buffer_length, unsigned int packet_type)
64 {
65 1
66 1 int i;
67 1 unsigned int ramaddr;
68 1
69 1 // Define Macro to increment the RAM address Pointer
70 1 #define INC_RAMADDR ramaddr++; \
71 1 RAMADDRH = (ramaddr >> 8);\
72 1 RAMADDRL = (ramaddr & 0x00FF);
73 1
74 1
75 1 // Step 1: Poll TXBUSY until it becomes 0x00
76 1 while(TXBUSY);
*** ERROR C202 IN LINE 76 OF CP220X_ETH.C: 'TXBUSY': undefined identifier
77 1
78 1 // Step 2: Set the TXSTARTH:TXSTARTL address to 0x0000
79 1 TXSTARTH = 0x00;
*** ERROR C202 IN LINE 79 OF CP220X_ETH.C: 'TXSTARTH': undefined identifier
80 1 TXSTARTL = 0x00;
*** ERROR C202 IN LINE 80 OF CP220X_ETH.C: 'TXSTARTL': undefined identifier
81 1
82 1
83 1 // Step 3: Load data into transmit buffer
84 1 // When the random access method is used, we do not need to check for
85 1 // aborted packets. This method will be slightly slower than the Autowrite
86 1 // method, however, it reduces code space requirements.
87 1
88 1 // Setup RAM Address Pointer To 0x0000
89 1 RAMADDRH = 0x00;
*** ERROR C202 IN LINE 89 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
90 1 RAMADDRL = 0x00;
*** ERROR C202 IN LINE 90 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
91 1 ramaddr = 0x0000;
92 1
93 1 // Step 3a: Load the destination address
94 1 for(i = 0; i < 6; i++){
95 2
96 2 RAMTXDATA = pDestAddr->Char[i];
*** ERROR C202 IN LINE 96 OF CP220X_ETH.C: 'RAMTXDATA': undefined identifier
97 2 INC_RAMADDR
*** ERROR C202 IN LINE 97 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
*** ERROR C202 IN LINE 97 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
98 2
99 2 }
100 1
101 1 // Step 3b: Load the source address
102 1 for(i = 0; i < 6; i++){
103 2 RAMTXDATA = MYMAC.Char[i];
*** ERROR C202 IN LINE 103 OF CP220X_ETH.C: 'RAMTXDATA': undefined identifier
104 2 INC_RAMADDR
C51 COMPILER V7.05 CP220X_ETH 07/31/2006 17:57:04 PAGE 3
*** ERROR C202 IN LINE 104 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
*** ERROR C202 IN LINE 104 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
105 2 }
106 1
107 1 // Step 3c: Load the Type/Length Field
108 1 RAMTXDATA = (packet_type >> 8);
*** ERROR C202 IN LINE 108 OF CP220X_ETH.C: 'RAMTXDATA': undefined identifier
109 1 INC_RAMADDR
*** ERROR C202 IN LINE 109 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
*** ERROR C202 IN LINE 109 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
110 1
111 1 RAMTXDATA = (packet_type & 0xFF);
*** ERROR C202 IN LINE 111 OF CP220X_ETH.C: 'RAMTXDATA': undefined identifier
112 1 INC_RAMADDR
*** ERROR C202 IN LINE 112 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
*** ERROR C202 IN LINE 112 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
113 1
114 1
115 1 // Step 3d: Load the packet payload
116 1 for(i = 0; i < buffer_length; i++){
*** ERROR C202 IN LINE 116 OF CP220X_ETH.C: 'buffer_length': undefined identifier
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -