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

📄 复件 net.h

📁 程序改写来自atmega88+enc28J60,没有做什么优化,看起来 有点乱.供大家参考参考~ 可以通过网页访问192.168.1.1/123456 来控制LPC2103模块上的led
💻 H
字号:
/********************************************* * vim:sw=8:ts=8:si:et * To use the above modeline in vim you must have "set modeline" in your .vimrc * Author: Guido Socher  * Copyright: GPL V2 * * Based on the net.h file from the AVRlib library by Pascal Stang. * For AVRlib See http://www.procyonengineering.com/ * Used with explicit permission of Pascal Stang. * * Chip type           : ATMEGA88 with ENC28J60 *********************************************/// notation: _P = position of a field//           _V = value of a field//@{#ifndef NET_H#define NET_H// ******* ETH *******#define ETH_HEADER_LEN	14// values of certain bytes:#define ETHTYPE_ARP_H_V 0x08#define ETHTYPE_ARP_L_V 0x06#define ETHTYPE_IP_H_V  0x08#define ETHTYPE_IP_L_V  0x00// byte positions in the ethernet frame://// Ethernet type field (2bytes):#define ETH_TYPE_H_P 12#define ETH_TYPE_L_P 13//#define ETH_DST_MAC 0#define ETH_SRC_MAC 6// ******* ARP *******#define ETH_ARP_OPCODE_REPLY_H_V 0x0#define ETH_ARP_OPCODE_REPLY_L_V 0x02//#define ETHTYPE_ARP_L_V 0x06// arp.dst.ip#define ETH_ARP_DST_IP_P 0x26// arp.opcode#define ETH_ARP_OPCODE_H_P 0x14#define ETH_ARP_OPCODE_L_P 0x15// arp.src.mac#define ETH_ARP_SRC_MAC_P 0x16#define ETH_ARP_SRC_IP_P 0x1c#define ETH_ARP_DST_MAC_P 0x20#define ETH_ARP_DST_IP_P 0x26// ******* IP *******#define IP_HEADER_LEN	20// ip.src#define IP_SRC_P 0x1a#define IP_DST_P 0x1e#define IP_HEADER_LEN_VER_P 0xe#define IP_CHECKSUM_P 0x18#define IP_TTL_P 0x16#define IP_FLAGS_P 0x14#define IP_P 0xe#define IP_TOTLEN_H_P 0x10#define IP_TOTLEN_L_P 0x11#define IP_PROTO_P 0x17  #define IP_PROTO_ICMP_V 1#define IP_PROTO_TCP_V 6// 17=0x11#define IP_PROTO_UDP_V 17// ******* ICMP *******#define ICMP_TYPE_ECHOREPLY_V 0#define ICMP_TYPE_ECHOREQUEST_V 8//#define ICMP_TYPE_P 0x22#define ICMP_CHECKSUM_P 0x24// ******* UDP *******#define UDP_HEADER_LEN	8//#define UDP_SRC_PORT_H_P 0x22#define UDP_SRC_PORT_L_P 0x23#define UDP_DST_PORT_H_P 0x24#define UDP_DST_PORT_L_P 0x25//#define UDP_LEN_H_P 0x26#define UDP_LEN_L_P 0x27#define UDP_CHECKSUM_H_P 0x28#define UDP_CHECKSUM_L_P 0x29#define UDP_DATA_P 0x2a// ******* TCP *******#define TCP_SRC_PORT_H_P 0x22#define TCP_SRC_PORT_L_P 0x23#define TCP_DST_PORT_H_P 0x24#define TCP_DST_PORT_L_P 0x25// the tcp seq number is 4 bytes 0x26-0x29#define TCP_SEQ_H_P 0x26#define TCP_SEQACK_H_P 0x2a// flags: SYN=2#define TCP_FLAGS_P 0x2f#define TCP_FLAGS_SYN_V 2#define TCP_FLAGS_FIN_V 1#define TCP_FLAGS_PUSH_V 8#define TCP_FLAGS_SYNACK_V 0x12#define TCP_FLAGS_ACK_V 0x10#define TCP_FLAGS_PSHACK_V 0x18//  plain len without the options:#define TCP_HEADER_LEN_PLAIN 20#define TCP_HEADER_LEN_P 0x2e#define TCP_CHECKSUM_H_P 0x32#define TCP_CHECKSUM_L_P 0x33#define TCP_OPTIONS_P 0x36//#endif//@}

⌨️ 快捷键说明

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