CH563常见问题汇总及解答(持续更新)

一、CH563外围电路设计注意

    1.CH563的PHY是电压型,网络变压器的中心抽头要接3.3V

    2.CH563的电源引脚退耦电容不可少,而且要靠芯片周围摆放

    3.具体接法可以上沁恒官网(www.denis-pharm.com)上搜索“CH563PCB”

二、CH563初始化失败

    1.初始化函数需要输入四个参数:ip,网关,子网掩码,MAC. 检查这些参数的正确性

    2.初始化函数会返回状态码,对照头文件CH563NET.H,看一下是什么错误

    3CH563初始化后,需要在定时器中断里开启以太网中断服务函数与定时器中断服务函数

 三、CH563无法与电脑建立TCP连接

    1. 连接之前先将电脑的网络防火墙关闭。

    2.对于多网卡的电脑,在设置电脑端网络调试软件时要注意选择正确的网卡,最好是打开软件前,将其他网卡都禁用。

    3.先ping一下563,若ping不通,则先检查网口的指示灯是否亮着,若不亮则换一根网线再试;若网口灯亮,则可能563初始化没有正确完成

    4.若能ping通,可能电脑的端口被占用,而有的网络调试软件不会提示,换一下电脑端的tcp端口再试一下。

    5.检查563配置的信息是否正确,目的ip与端口是否与电脑端设置相同`,TCP连接要注意ip地址处于同一网段,如果是在路由器局域网环境下,还要考虑395ip地址避免冲突。

    6.若出现连接断开后不能再次连上的问题,则可能是因为563在检测到连接断开后自动关闭了socket,需要在TCP连接断开与超时中断里重新打开socket。

  四、563数据收发问题

    1.CH563NET_MainTask()函数是库主任务函数,需要在主程序的大循环里面不停调用

     如果563一次中断处理时间过长,导致主任务函数在规定时间内没有运行,则可能会到时563网络异常,因此在写563的中断处理过程应该远短越好,遇到数据量大的任务,可以通过增加循环次数来解决

    2.563在TCP连接与数据接收都会产生中断信号,通过调用函数CH563NET_QueryGlobalInt()来查询,数据接收会依次产生全局中断与socket中断,按照中断状态来处理就可以了。

    3.563在数据收发过程中出现数据丢包现象:

    ·检查下定义接收缓冲区大小,读取接收长度,看是否超过了接收缓冲区。接收缓冲

在定义的时候至少要大于定义的TCP MSS的值。


收藏了   想问下CH565是不是和CH563的网络控制方式差不多


在用户代码中操作控制方式类似。565是千兆MAC,需要外置千兆PHY芯片。



网络可以和ucosii一起用吗,最近一个项目搞了2个月了,一直卡死到IRQ_C_Timer0,具体表现为IRQ_C_Timer0之后OS_Sched不被执行了(为了调试,我在OS_Sched里面加了 R8_UART1_THR输出2个字节数据

不知道是不是跟tcp和数据中断有关,因为没网络底层代码没法查看调试,估计网络部分中断没调用OSIntEnter,OSIntExit


CH563的以太网中断和定时器中断相关联,OS系统调度线程时使用的定时器检查是否和以太网定时器是否与冲突。网络部分中断中OSIntEnter和OSIntExit您可以添加在以太网中断函数前后。


只有登录才能回复,可以选择微信账号登录