📄 cp220x_eth.lst
字号:
117 2 RAMTXDATA = buffer[i];
*** ERROR C202 IN LINE 117 OF CP220X_ETH.C: 'RAMTXDATA': undefined identifier
118 2 INC_RAMADDR
*** ERROR C202 IN LINE 118 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
*** ERROR C202 IN LINE 118 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
119 2 }
120 1
121 1 // Step 3e: Pad short packets
122 1 while(ramaddr < 64){
123 2 RAMTXDATA = 0;
*** ERROR C202 IN LINE 123 OF CP220X_ETH.C: 'RAMTXDATA': undefined identifier
124 2 INC_RAMADDR
*** ERROR C202 IN LINE 124 OF CP220X_ETH.C: 'RAMADDRH': undefined identifier
*** ERROR C202 IN LINE 124 OF CP220X_ETH.C: 'RAMADDRL': undefined identifier
125 2 }
126 1
127 1 // Set the TXENDH:TXENDL address to <ramaddr - 1>
128 1 ramaddr--;
129 1 TXENDH = (ramaddr >> 8);
*** ERROR C202 IN LINE 129 OF CP220X_ETH.C: 'TXENDH': undefined identifier
130 1 TXENDL = (ramaddr & 0x00FF);
*** ERROR C202 IN LINE 130 OF CP220X_ETH.C: 'TXENDL': undefined identifier
131 1
132 1
133 1 // Step 4: Set the TXSTARTH:TXSTARTL address back to 0x0000
134 1 TXSTARTH = 0x00;
*** ERROR C202 IN LINE 134 OF CP220X_ETH.C: 'TXSTARTH': undefined identifier
135 1 TXSTARTL = 0x00;
*** ERROR C202 IN LINE 135 OF CP220X_ETH.C: 'TXSTARTL': undefined identifier
136 1
137 1 // Step 5: Write '1' to TXGO to begin transmission
138 1 TXCN = 0x01;
*** ERROR C202 IN LINE 138 OF CP220X_ETH.C: 'TXCN': undefined identifier
139 1
140 1 }
141
142
143 //-----------------------------------------------------------------------------
144 // CP220x_Receive
145 //-----------------------------------------------------------------------------
146 //
C51 COMPILER V7.05 CP220X_ETH 07/31/2006 17:57:04 PAGE 4
147 // This function reads the current packet from the CP220x receive buffer and
148 // copies it to the passed buffer. The data copied to the buffer includes the
149 // 14-byte Ethernet Header and the Data Field.
150 //
151 // Returns the number of bytes added to the buffer.
152 //
153 // (8 bytes) 48-bit 48-bit 16-bit 0-1500 bytes
154 // --------------------------------------------------------------------------
155 // | Preamble | SFD | Dest | Source | Type/Length | Data Field | Pad | FCS |
156 // | | | Addr | Addr | Field | | | (CRC) |
157 // --------------------------------------------------------------------------
158 // supplied by | supplied by the MCU | supplied by
159 // CP220x | | CP220x
160 //-----------------------------------------------------------------------------
161 unsigned int CP220x_Receive(unsigned char* buffer, unsigned int buffer_length)
162 {
163 1 bit rx_ok;
164 1 bit skip = 0;
165 1 UINT cplen;
*** ERROR C202 IN LINE 165 OF CP220X_ETH.C: 'UINT': undefined identifier
*** ERROR C141 IN LINE 165 OF CP220X_ETH.C: syntax error near 'cplen'
166 1 unsigned int i;
*** ERROR C141 IN LINE 166 OF CP220X_ETH.C: syntax error near 'unsigned'
*** ERROR C202 IN LINE 166 OF CP220X_ETH.C: 'i': undefined identifier
167 1
168 1 // Step 1: Check the RXOK bit to see if packet was received correctly
169 1 rx_ok = (CPINFOL & RXOK) && (CPINFOH & RXVALID);
*** ERROR C202 IN LINE 169 OF CP220X_ETH.C: 'CPINFOL': undefined identifier
170 1
171 1 // Step 2: If packet received correctly, read the length, otherwise, skip packet.
172 1 if(rx_ok){
173 2
174 2 // Read the packet length
175 2 cplen.Char[0] = CPLENH;
*** ERROR C202 IN LINE 175 OF CP220X_ETH.C: 'cplen': undefined identifier
176 2 cplen.Char[1] = CPLENL;
*** ERROR C202 IN LINE 176 OF CP220X_ETH.C: 'cplen': undefined identifier
177 2
178 2 } else {
179 2
180 2 // Set packet length to zero
181 2 cplen.Int = 0;
*** ERROR C202 IN LINE 181 OF CP220X_ETH.C: 'cplen': undefined identifier
182 2
183 2 // Skip packet
184 2 skip = 1;
185 2 }
186 1
187 1 // Step 3: Read the entire packet from the buffer
188 1
189 1 // If packet will fit in the buffer
190 1 if(buffer_length >= cplen.Int){
*** ERROR C202 IN LINE 190 OF CP220X_ETH.C: 'cplen': undefined identifier
191 2
192 2 // Copy entire packet
193 2 for(i = 0; i < cplen.Int; i++){
*** ERROR C202 IN LINE 193 OF CP220X_ETH.C: 'i': undefined identifier
194 3 *buffer++ = RXAUTORD;
*** ERROR C202 IN LINE 194 OF CP220X_ETH.C: 'RXAUTORD': undefined identifier
195 3 }
196 2
197 2 } else {
C51 COMPILER V7.05 CP220X_ETH 07/31/2006 17:57:04 PAGE 5
198 2
199 2 // Set packet length to zero
200 2 cplen.Int = 0;
*** ERROR C202 IN LINE 200 OF CP220X_ETH.C: 'cplen': undefined identifier
201 2
202 2 // Skip packet
203 2 skip = 1;
204 2 }
205 1
206 1 // Step 4: Skip the packet, or clear the valid bit if the entire packet
207 1 // has been unloaded from the buffer.
208 1
209 1 if(skip)
210 1 {
211 2 RXCN |= 0x02; // Skip the packet
*** ERROR C202 IN LINE 211 OF CP220X_ETH.C: 'RXCN': undefined identifier
212 2 }
213 1
214 1 else
215 1 {
216 2 RXCN |= 0x04; // Clear the valid bit only
*** ERROR C202 IN LINE 216 OF CP220X_ETH.C: 'RXCN': undefined identifier
217 2 }
218 1
219 1 // If there are no more packets in the receive buffer, enable reception
220 1 if(TLBVALID == 0x00)
*** ERROR C202 IN LINE 220 OF CP220X_ETH.C: 'TLBVALID': undefined identifier
221 1 {
222 2 RXCN = 0x00;
*** ERROR C202 IN LINE 222 OF CP220X_ETH.C: 'RXCN': undefined identifier
223 2 }
224 1
225 1 // Return the number of bytes added to the buffer
226 1 return cplen.Int;
*** ERROR C202 IN LINE 226 OF CP220X_ETH.C: 'cplen': undefined identifier
227 1 }
228
229
230 //-----------------------------------------------------------------------------
231 // End Of File
232 //-----------------------------------------------------------------------------
C51 COMPILATION COMPLETE. 2 WARNING(S), 48 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -