相信大家都有这种感觉,一件事情在还没有做之前,总感觉困难从从,无从下手,但是一旦你把这件事情做完了做好了,回头想想其实并不是想象中那么难,在开始接触网络芯片w5300的时候,看到资料上那么多寄存器需要设置,感觉头都大了,没有着手点,还好资料是中文资料,不过现在一些协议芯片都已经硬件固化了,相对来说操作起来方便一点,但是网上或者芯片厂家都会或多或少会有一些历程,但是看来看去,就是无法找到自己想要的功能,要么只是一点初始化部分,要么就是另一种模式,看起来比较费力,那就只能自己硬着头皮来做了,使用的单片机是c8051f040,开始就被这个单片机的页地址给坑住了,以为他的IO口都不听话,要他干嘛他偏不。后来查看一些程序后才明白。
W5300的初始化:操作W5300首先必须先读懂他的一些重要的寄存器,接着在根据他的读写时序来写读写数据的函数(IO口),然后验证读写函数是否正确,这点是保证通讯的前提,第二点就是W5300的硬件初始化和软件初始化,第三点就是端口的初始化,完成这几点后,差不多就可以ping通了。我自己在第二点出吃了很大的亏,原因是没有规定w5300发送和接受寄存器(MTYPER0和MTYPER1),以至于后面判断状态寄存器的时候读出来的值时钟都是0,跟博控公司的技术沟通,他们也没有解答,还是自己后来发现的。在第三点中需要注意的就是端口初始化时候就需要写入目标IP和端口号,也许有的人不会这么做吧。
W5300的读写程序:初始化完成以后,就开始写通信函数了,我自己使用的模式是UDP模式,这个可以根据datasheet中的步骤来做。在写读写函数的时候端口初始化一定要放在主函数里面。不同人估计有不同的做法吧。希望大家拍砖。
用户429168 2016-1-19 13:28
用户377235 2015-12-30 09:23
用户377235 2015-12-30 09:23
用户377235 2014-3-31 15:28