打印

w5500写入网络参数问题

[复制链接]
986|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hszhzwd|  楼主 | 2020-8-4 11:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hszhzwd 于 2020-8-4 11:45 编辑

我用的w5500模块是“HanRun HR911105A”,使用Write_W5500_nByte(unsigned short reg, unsigned char *dat_ptr, unsigned short size)函数给寄存器写入网络参数,写完后再读取每个寄存器数据,并用lcd12864显示屏查看读出的各寄存器的数据情况。
Write_W5500_nByte(GAR, Gateway_IP, 4);
delay(250);       //延时0.4S
Write_W5500_nByte(SUBR, Sub_mask, 4);
delay(250);       //延时0.4S
Write_W5500_nByte(SIPR, IP_Addr, 4);
delay(250);       //延时0.4S
Write_W5500_nByte(SHAR, Phy_addr,6);
delay(250);       //延时0.4S
用同一个函数,写不同的寄存器,只有SHAR(物理地址寄存器)写不进去,6个寄存器中读出的数据都是255.最后没有办法,用Write_W5500_1Byte(unsigned short reg, unsigned char dat)函数分别对物理地址的六个寄存器写操作:
Write_W5500_1Byte(0x0009,0x02);
Write_W5500_1Byte(0x000a,0x8a);
Write_W5500_1Byte(0x000b,0x5b);
Write_W5500_1Byte(0x000c,0x7d);
Write_W5500_1Byte(0x000d,0xb3);
Write_W5500_1Byte(0x000e,0x11);
读出的数据仍然是255。请高手指点,可能是哪出了问题,有没有可能是模块坏?可我换了好几个模块都这样。已经努力了好长时间,找不出具体原因。

使用特权

评论回复

相关帖子

沙发
yueguang3048| | 2020-8-6 11:24 | 只看该作者
1.单字节读、写及多字节读、写函数测试OK吗?
2.看官方的例程里面,每次读写寄存器对CS管脚都进行了先拉低,读写数据,再拉高的操作。(应该不是这里)

使用特权

评论回复
板凳
hszhzwd|  楼主 | 2020-8-7 09:53 | 只看该作者
写其他的寄存器没有问题,说明函数应该是没有问题的,只是写“物理地址寄存器SHAR”写不进去,对cs的操作,在函数的内部都有。反复试了好些方法,都不行,芯片硬件问题,有可能吗?

使用特权

评论回复
地板
APP系统商| | 2020-8-7 17:04 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

38

帖子

1

粉丝