1.HAL库与标准库转换
泥人提供的模块收发程序
HAL库下的收发(这里只提供部分接口,其它同样改发):
下边这条是标准库自带的函数,这里只用来和HAL库转换
改完之后,想验证自己的驱动改好没有,可以读取版本寄存器VERSION(0x0039),返回值为0x04,如果不是,说明驱动没改好。
2.写入IP地址等,读出返回值为00
泥人提供的例程中,是FDM和VDM数据混用的,即一会儿用固定长度模式、一会儿用不定长模式。这里就存在一个问题——什么时候数据发送结束。
看一下数据手册:
FDM模式下不要求CS信号,只要发数据的时候是拉低就行;
VDM模式下,片选拉低表示要开始发送数据,片选拉高表示接收结束。但是我在使用过程中一直将片选拉低了,因此,当使用VDM时,W5500认为我数据还没发完,故一直在等待接收、读取数据返回为00。