请问 ch395 的 CMD_SET_IP_ADDR 命令,需要在INIT_CH395初始化之前执行吗?可否在之后执行
您好,设置CH395的IP地址需要在初始化之前设置。详细初始化流程可以参考手册8.3章节。后续有其他问题可邮箱交流(lq@wch.cn)
您好,CH395 S设置成tcp server模式,客户端断开链接后,重新链接ch395,链接超时,这个该怎么处理?
您好,
如果是tcp服务器单连接模式,那么客户端断开连接后,会进入断开中断,CH395在断开中断中默认会将此socket关闭,在断开中断中重新打开和监听即可。
您好,通过keil mdk debug,发现socket未建立成功,一直卡在以下函数,请问是什么原因?
uint8_t SPI_FLASH_SendByte(uint8_t byte)
{
SPITimeout = SPIT_FLAG_TIMEOUT;
/* 等待发送缓冲区为空,TXE事件 */
while (spi_i2s_flag_get(SPI1,SPI_FLAG_TBE) == RESET)
{
if((SPITimeout--) == 0)
return SPI_TIMEOUT_UserCallback(0);
}
/* 写入数据寄存器,把要写入的数据写入发送缓冲区 */
spi_i2s_data_transmit(SPI1,byte);
SPITimeout = SPIT_FLAG_TIMEOUT;
/* 等待接收缓冲区非空,RXNE事件 */
while (spi_i2s_flag_get(SPI1,SPI_FLAG_RBNE) == RESET)
{
if((SPITimeout--) == 0)
return SPI_TIMEOUT_UserCallback(1);
}
/* 读取数据寄存器,获取接收缓冲区数据 */
return spi_i2s_data_receive(SPI1);
}
您好,能帮忙看看上楼的问题吗
您好,卡在socket创建是因为spi发送命令码失败吗?可以在对395操作前读版本号或用CHECK命令码检测一下spi通信是否正常。如果有逻辑分析仪可以抓时序看一下,可以将抓的时序邮箱发过来看一下(邮箱:lq@wch.cn,后续问题也可邮箱交流)。
没有,初始化CH395芯片成功了,但是初始化SOCKET时,就卡住了。
您好,可以把测试代码邮箱发过来看一下,如果有spi抓的时序也可同步发过来看一下(邮箱:lq@wch.cn)
你好,请问通过工具监听网络数据,发现监听到的数据目的ip地址为0.0.0.0,并不是我们在初始化阶段设置的目的地址,有什么原因会发生这种情况呢
您好,相关技术人员已微信联系您。
你好 CH395Q做TCP_Server,client主动断开链接后,立马重新发起链接会出现TCP链接失败的问题
您好,客户端主动断开连接后,会进入395的断开中断或超时中断,进入这两个中断后会默认关闭socket,如果395做tcp_server,则需要在这两个中断中重新打开socket和重新监听。
后续有其他问题可邮箱联系(邮箱:lq@wch.cn)
请问是5.16. CMD_GET_GLOB_INT_STATUS_ALL 中的这个bit位定义的吗?
2 GINT_STAT_PHY_CHANGE PHY 状态改变中断
您好,客户端断开连接后,先由手册5.15或5.16的命令码得出全局中断状态,如果有socket中断产生,再由手册5.23的命令码得出socket的中断状态,其中就包括断开中断和超时中断,在这两个中断中重新打开socket和启动监听即可。
手册中对每一中断事件有详细说明,可以参考一下。
PS:当芯片版本号小于0x44则不支持5.16命令码,可以通过0x01命令码查询芯片版本。
相关代码流程可以参考官网例程:/downloads/CH395EVT_ZIP.html
后续有其他问题可邮箱联系(lq@wch.cn)