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

  • 相关阅读:
    mac 打开文件路径
    js 小技巧
    java 随机数
    sql server 2000 按日期查找
    WML
    Groovy
    Windows Azure Traffic Manager (4) Windows Azure Traffic Manager (4) 循环法和故障转移
    Windows Azure Cloud Service (28) 在Windows Azure发送邮件(中)
    [New Portal] Windows Azure Cloud Service (30) 新的Windows Azure SDK 1.7和新的Windows Azure Managemeng Portal
    Windows Azure Traffic Manager (3) Windows Azure Traffic Manager (3) 创建流量管理器策略和性能负载平衡
  • 原文地址:https://www.cnblogs.com/jiayezi/p/14770960.html
Copyright © 2011-2022 走看看