ch32v307官方8_UART_SERVER串口數(shù)據(jù)接收轉(zhuǎn)發(fā)問題

使用官方提供的案例,燒錄測試,發(fā)現(xiàn)串口發(fā)送數(shù)據(jù),總是被分割成兩個部分,一個是首字符,一個是余下的部分,不知道應該改動哪一部分,才能正常轉(zhuǎn)發(fā)成完整的字符串。

微信截圖_20240605165942.png

微信截圖_20240605174311.png

只改動了默認的local ip地址,串口的波特率,其他沒有修改


您好,例程中8個串口都用于實現(xiàn)8串口網(wǎng)絡服務器通信了,建議程序中不要加打印。若要使用打印功能,注意需要修改相關宏定義,下帖是關于8串口服務器例程的使用介紹,可以參考一下。

https://www.cnblogs.com/liaigu/p/18025036

?


你好,這個打印是后面加的,用usart1進行測試的時候,發(fā)現(xiàn)串口1發(fā)送一條數(shù)據(jù)后,網(wǎng)口端卻收到了兩條信息,一個是首字符,一個是后面的部分,才加了打印進行調(diào)試查看的。


官方案例中波特率是921600,當測試中降低波特率230400或者9600后,字符串被分割成更多次,這個應該和波特率設置,就是串口傳輸速度有關,當通訊速率降低后,每次接收間隔觸發(fā)了中斷,這個中斷的時間間隔有沒有辦法設置,項目中移植到其他項目中,不需要高速率轉(zhuǎn)發(fā)


您好,代碼中判斷串口dma有數(shù)據(jù)就會調(diào)用網(wǎng)絡發(fā)送,沒有判斷是否為完整一包,所以會出現(xiàn)這種分割的情況,這是為了提高傳輸效率,想收完整一包的話,可以用串口空閑中斷嘗試一下,也可以自定義幀頭幀尾,在上位機方判斷是否為完整一包


只有登錄才能回復,可以選擇微信賬號登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频