完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本人现在用CH395Q,与GD32硬件SPI通信,现在遇到的问题是CH395初始化函数执行完返回0x00,中途也能检测到返回0x10(即忙状态),但初始化时间过长,且Elink管脚电平始终为高电平没变过。用官方的demo改的程序,原本不能正常通讯,后来在命令与数据及数据与数据间根据手册加了点延时,单片机与CH395Q通讯正常(能正常取反),ip地址子网掩码默认网关也都设置正确且能通过指令读出来。几个问题麻烦解答:
(1)Elink上电平何时会变化?是i = CH395Init();执行完之后就应该变化吗?还是获取PHY状态后、打开socket后?最好能详细到函数。 (2)初始化函数里面发送初始化指令后,有个获取初始化状态的循环,我改成了20ms能返回0x00,i显示在110左右,也就是初始化执行力2s多(延迟函数用示波器看过可以保证准确),那个延时改短了会返回未知错误,循环次数i不大于200。请问执行时间过长时会自动返回0x00吗,有什么原因会导致这种情况? (3)获取PHY连接状态前的过程如上文,看demo里没加CH395CMDSetPHY();这个函数,应该是自动协商吧,我没加这个函数时获取PHY状态返回断开,加了之后又能返回我设置的状态(比如PHY_10M_FLL),这是为什么? |
|
相关推荐
1个回答
|
|
1、当PHY连接上之后,ELink就会变化。这样网口灯会亮。
2. 初始化代码中,如果200次没有获取到命令状态是会返回FA未知错误。并不会因为时间过长而返回00。 3. PHY是自动协商的。在网线没连接之前,phy状态都是断开。 |
|
|
|
只有小组成员才能发言,加入小组>>
463 浏览 1 评论
CH579M+RT-Thread,RTC从Sleep模式唤醒失败是什么原因?
2868 浏览 2 评论
2357 浏览 1 评论
808浏览 2评论
CH569通过HSPI实现USB3.0和FPGA高速双向通讯
630浏览 1评论
492浏览 1评论
CH32F103C8T6使用当前官网上的CDC例程会出现设备描述符请求失败
356浏览 1评论
630浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 09:01 , Processed in 0.887390 second(s), Total 45, Slave 38 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号