项目中使用CH395每秒分别发送4帧数据,但是调用该函数了4次CH395SendData(0, pComMsg->net_tx_buf, pComMsg->net_tx_cnt);。却只收到了1帧数据。
这里可以确定串口每秒打印4次,该网络发送函数也调用四次。
但是网络中,只收到了一帧数据,其它3帧数据没有,这是为什么啊
难道真如这里说的这样。我自己也确定了一下,网络发送函数调用4次,但是空闲中断只产生了1次。
求助大佬们,这个该如何解决啊,欢迎大家给我指点指点,非常感谢!
项目中使用CH395每秒分别发送4帧数据,但是调用该函数了4次CH395SendData(0, pComMsg->net_tx_buf, pComMsg->net_tx_cnt);。却只收到了1帧数据。
这里可以确定串口每秒打印4次,该网络发送函数也调用四次。
但是网络中,只收到了一帧数据,其它3帧数据没有,这是为什么啊
难道真如这里说的这样。我自己也确定了一下,网络发送函数调用4次,但是空闲中断只产生了1次。
求助大佬们,这个该如何解决啊,欢迎大家给我指点指点,非常感谢!
如何能实现每秒分别发送4个帧的功能啊,还是说CH395机制的问题,无法实现每秒4次左右的发送数据。求大佬们指点迷津,感谢感谢!
这里是中断触发时,打印的内容。发送6帧数据,只有2帧成功了
(1)提高通信接口的速率:串口的波特率或者SPI接口的时钟
(2)结合代码的方式,以sned_buff_free作为标志,作为CH395SendData的发送使能标志。
非常感谢4楼大神提供的思路!现在电路板已经制作回来了,使用CH395的SPI通信方式,用stm32f103,他的时钟也确定了,SPI最大时钟18MHz。
我又用了另一种方式进行测试,发现每秒发送15次数据都没有问题。下面是截图
上面代码每秒执行15次左右。下面是抓包抓到的,确实可以连发15条。
但是为啥昨天的那个数组发送就不行。我是不是需要改造一下昨天那个数组格式。真奇怪啊,