HW ENET

来自拉普兰德Wiki
跳转至: 导航搜索

固件说明

HW_ENET.c和HW_ENET.h是ENET以太网模块的固件驱动文件,这里定义了该模块的初始化函数,以太帧发送接收函数以及MII接口相关函数。

结构体

ENET_InitTypeDef

变量 描述 取值 初始化
uint8 *ENET_MacAddress MAC地址 长度6字节 必须初始化
ENET_ISR_CALLBACK ENET_TxIsr 发送中断回调函数 函数必须为无返回值,无参数(eg. void isr(void);) 不必须初始化
ENET_ISR_CALLBACK ENET_RxIsr 接收中断回调函数 函数必须为无返回值,无参数(eg. void isr(void);) 不必须初始化
ENET_ISR_CALLBACK ENET_1588Isr IEEE1588中断回调函数 函数必须为无返回值,无参数(eg. void isr(void);) 不必须初始化
ENET_ISR_CALLBACK ENET_ErrIsr 其他错误中断回调函数 函数必须为无返回值,无参数(eg. void isr(void);) 不必须初始化

变量

函数

LPLD_ENET_Init()

函数原型

void LPLD_ENET_Init(ENET_InitTypeDef);

描述

ENET模块初始化,包括PHY收发器初始化,MAC初始化,BD初始化

形参

类型 名称 描述 取值
ENET_InitTypeDef enet_init_struct ENET初始化结构体 结构体定义见ENET_InitTypeDef

输出

LPLD_ENET_MacSend()

函数原型

void LPLD_ENET_MacSend(uint8*, uint16);

描述

以太帧发送函数

形参

类型 名称 描述 取值
uint8 * ch 数据帧头地址,该数据帧为以太帧,必须包含目的地址、源地址、类型等 8位字节数组
uint16 len 数据帧长度 16位无符号整形

输出

LPLD_ENET_MacRecv()

函数原型

uint8 LPLD_ENET_MacRecv(uint8*, uint16*);

描述

以太帧接收函数

形参

类型 名称 描述 取值
uint8 * ch 接收数据帧头地址。 8位字节数组头地址
uint16 * *len 数据帧长度 16位无符号整形指针

输出

LPLD_ENET_HashAddress()

函数原型

uint8 LPLD_ENET_HashAddress(const uint8*);

描述

生成给定的MAC地址的哈希表

形参

类型 名称 描述 取值
const uint8* addr MAC地址 6字节地址指针

输出

32位CRC校验的高6位

LPLD_ENET_SetAddress()

函数原型

void LPLD_ENET_SetAddress(const uint8*);

描述

设置MAC物理地址

形参

类型 名称 描述 取值
const uint8 * pa MAC物理地址 6字节数组指针

输出

LPLD_ENET_MiiInit()

内部调用

LPLD_ENET_MiiWrite()

内部调用

LPLD_ENET_MiiRead()

内部调用

其他