配置四個(gè)串口測(cè)試單獨(dú)接收和發(fā)送數(shù)據(jù)都正常,四個(gè)串口都是中斷接收和中斷發(fā)送的方式;但是遇到問題是將串口一發(fā)送接到串口二接收上,串口二發(fā)送接到串口三的接收,串口……接收的數(shù)據(jù)不正常;四個(gè)口循環(huán)數(shù)據(jù)出現(xiàn)錯(cuò)誤,只有收到兩個(gè)字節(jié)頭和尾,這個(gè)問題有參考例子解決嗎
您好,在CH32V307 EVT有串口2和串口3之間進(jìn)行收發(fā)的例程,采用中斷的方式,可以參考一下。CH32V307 EVT下載鏈接如下:
http://www.findthetime.net/downloads/CH32V307EVT_ZIP.html?
這個(gè)例程不是采用中斷的方式發(fā)送的,就是使用while循環(huán)等待接收數(shù)據(jù),還是根據(jù)已有的數(shù)據(jù)長(zhǎng)度在等待,沒什么參考的價(jià)值
您好,附件為根據(jù)你需求寫的一個(gè)簡(jiǎn)單的串口1中斷發(fā)送,串口2中斷接收之后中斷發(fā)送的例程,可以參考一下。需要注意,初始化時(shí)最好不要啟用TXE中斷,建議在接收完成后發(fā)送數(shù)據(jù)時(shí)啟用TXE中斷,如下圖,關(guān)于一開始發(fā)送時(shí)可在初始化完成后啟用TXE中斷,具體可參考附件例程程序處理,此處在中斷函數(shù)中加了打印,是為了觀察現(xiàn)象確認(rèn)結(jié)果,實(shí)際使用中不建議加打印。后續(xù)若有問題,建議通過郵箱(lzs@wch.cn)和我溝通。
我的代碼就是接收數(shù)據(jù)完成之后,才開啟發(fā)送中斷,發(fā)送完成后又關(guān)掉發(fā)送中斷;現(xiàn)在的問題是如果四個(gè)串口同時(shí)接收到數(shù)據(jù),每個(gè)串口不能發(fā)送正常的數(shù)據(jù),會(huì)出現(xiàn)數(shù)據(jù)丟失
您好,已郵件回復(fù)你,請(qǐng)注意查收,后續(xù)問題溝通可繼續(xù)通過郵箱進(jìn)行溝通