3. 解决问题的一个实例
表 3.10 write_ENC28J60_Buffer函数
函数名称 void write_ENC28J60_Buffer(INT16U len, INT8U * data) 参数 参数类型 COMMENT len INT16U INPUT 参数列表 data INT8U * INPUT 返回值 void void 功能说明 向发送缓存区写入一字节数据 制约和注需使用SPI口,故操作前需配置好SPI 意事项 异常处理 无 函数流程参见链接write_ENC28J60_Buffer 图
write_ENC28J60
表 3.11 write_ENC28J60函数 Table 3.10 write_ENC28J60 function
函数名称 void write_ENC28J60(INT8U address, INT8U data) 参数 参数类型 COMMENT address INT8U 八位寄存器地址 参数列表 data INT8U 要写的数据 返回值 void void 功能说明 向寄存器写入一字节数据 制约和注需使用SPI口,故操作前需配置好SPI 意事项 异常处理 无 函数流程参见链接write_ENC28J60 图
表 3.12 read_ENC28J60函数 Table 3.12 read_ENC28J60 function
函数名称 参数列表 返回值 功能说明 制约和注意需使用SPI口,故操作前需配置好SPI 事项 异常处理 无 函数流程图 参见链接read_ENC28J60 INT8U read_ENC28J60(INT8U address) 参数 参数类型 COMMENT address INT8U 寄存器地址 — INT8U 读出的数 读控制寄存器 - 20-
基于嵌入式系统网卡驱动的实现
表 3.13 read_ENC28J60_cmd函数
Table 3.13 read_ENC28J60_cmd function
函数名称 INT8U read_ENC28J60_cmd(INT8U cmd, INT8U address) 参数 参数类型 COMMENT cmd INT8U SPI指令 参数列表 address INT8U 控制寄存器地址 返回值 —— INT8U 读出的数据 功能说明 读控制寄存器 制约和注无 意事项 异常处理 无 函数流程参见链接read_ENC28J60_cmd 图
表 3.14 write_ENC28J60_cmd函数
函数名称 参数列表 返回值 功能说明 制约和注意无 事项 异常处理 无 函数流程图 参见链接write_ENC28J60_cmd
7) 流程图 Send_Packet
Table 3.14 write_ENC28J60_cmd function void write_ENC28J60_cmd(INT8U cmd, INT8U address, INT8U data) 参数 参数类型 COMMENT cmd INT8U SPI指令 address INT8U 八位地址 data INT8U 要写入的数据 void void 写控制寄存器 - 21-
3. 解决问题的一个实例
FLOW CHART DESIGNFUNCTION NAMEsend_Packet开始传输逻辑复位设置写指针TXND 指向发送末字节数据写包控制字节发送数据复制到缓冲区发送数据包结束图3.3 send_Packet函数流程图
Fig. 3.3 send_Packet function flowchart
- 22-
基于嵌入式系统网卡驱动的实现
read_ENC28J60_Buffer
FLOW CHART DESIGNFUNCTION NAMEread_ENC28J60_Buffer开始CS有效发送SPI读缓存器指令读出数据CS无效结束 图3.4 read_ENC28J60_Buffer函数流程图
Figure 3.4 read_ENC28J60_Buffer function flowchart
- 23-
3. 解决问题的一个实例
write_ENC28J60_Buffer
FLOW CHART DESIGNFUNCTION NAMEwrite_ENC28J60_Buffer开始CS有效发送写缓存器SPI指令发送要写的数据CS无效结束图3.5 write_ENC2860_Buffer函数流程图
Figure 3.5 read_ENC28J60_Buffer function flowchart
write_ENC28J60
- 24-