zoukankan      html  css  js  c++  java
  • 关于STM32F103+CH395Q网络芯片开发所遇到的问题总结

    在一次项目开发中需要使用到CH395Q网络芯片来连接网口进行数据处理,在设计过程中可谓是问题不断:

     1、CH395Q初始化问题:该芯片的初始化值得注意的是硬件上的链接,本人使用的是SPI通讯方式,在下载官方测试程序后芯片死活无法初始化,

       后经查阅资料发现,在SPI通讯方式下芯片的RSTI引脚和TX引脚都需要与单片机进行连接并执行相关操作(具体可详见附件文档)。补齐引脚后

      能够实现芯片的初始化,但在if(CH395CMDGetPHYStatus() == PHY_DISCONN) 处一致显示网络链接断开,排除了软件问题后,经检查是网口

      没有接电压转换芯片,以及在四根高频信号线上接了滤波电容。去除以上故障后PC机与芯片能ping通。

     2、通过例程将CH395设置为服务器模式后,调试发现服务器在客户端连接一次断开连接后就无法再次连接。通过查阅官方手册,发现通过开启

      多连接的方式可以解决该问题。但由于需求指定要求不能有多台设备连接,因此从这之后开始毫无头绪。通过CH395TCPDisconnect函数观察

      TCP断开时的状态,发现TCP断开连接时Socket竟然自动关闭了。于是在断开中断中使用CH395SocketInitOpen对Socket重新打开后解决了该问题。

     3、连续发送多个数据帧的时候数据帧丢失:具体情况表现为,连续发送22帧数据,但是能够接收到的只有第一帧和最后一帧,查阅了手册后发现连续发送多帧数据时需要等待发送缓冲区空闲

    在Socket空闲中断内对循环数据进行累加,即只有空闲状态下才会发送数据,此操作后解决了该问题现象

    资料链接:链接:https://pan.baidu.com/s/1XCvHOOrycYX3sDiF-xcN2A
    提取码:0trj

  • 相关阅读:
    output在delete中的应用
    静态什么时候用?
    Main函数解析
    构造函数
    Main函数解析
    java类类型
    静态使用的注意事项
    Main函数剖析
    成员变量和局部变量的区别
    static的特点
  • 原文地址:https://www.cnblogs.com/jiayezi/p/14770960.html
Copyright © 2011-2022 走看看