CH438Q

CH438Q在8串口同時(shí)收發(fā)數(shù)據(jù)的時(shí)候,會(huì)根據(jù)回傳上來(lái)的數(shù)據(jù)再進(jìn)行對(duì)應(yīng)串口的數(shù)據(jù)發(fā)送,但是8串口同時(shí)工作的時(shí)候,就會(huì)出現(xiàn)亂碼以及無(wú)接收的現(xiàn)象。請(qǐng)問(wèn)在8串口同時(shí)收發(fā)數(shù)據(jù)的時(shí)候,都會(huì)進(jìn)入同一個(gè)外部中斷,這樣會(huì)不會(huì)造成錯(cuò)亂的現(xiàn)象,以及在接收數(shù)據(jù)長(zhǎng)度不等的情況下適合放在接收數(shù)據(jù)超時(shí)中斷還是接收數(shù)據(jù)可用中斷里。還有就是發(fā)送數(shù)據(jù)的時(shí)候也好觸發(fā)中斷,跟接收的時(shí)候會(huì)不會(huì)有沖突。

您好,8串口同時(shí)收發(fā)是可以的,在觸發(fā)中斷后,單片機(jī)只需要正常去處理中斷即可,對(duì)于丟數(shù)據(jù)等問(wèn)題,您可以提高接口通訊速度,以及將fifo觸發(fā)中斷的值設(shè)定小一些(例如一半)。這樣就不容易出現(xiàn)FIFO一處丟中斷的問(wèn)題


我接收的字節(jié)長(zhǎng)度不固定,用什么中斷比較好


您好,CH438Q串口接收會(huì)報(bào)接收數(shù)據(jù)可用中斷(達(dá)到fifo觸發(fā)值)以及接收數(shù)據(jù)超時(shí)中斷(一定時(shí)間未收到新的數(shù)據(jù)流),這個(gè)與您接收字節(jié)長(zhǎng)度不定長(zhǎng)并無(wú)直接關(guān)系。來(lái)一包數(shù)據(jù),滿fifo觸發(fā)值會(huì)報(bào)接收數(shù)據(jù)可用中斷,您去那個(gè)中斷做接收處理即可,剩下不足fifo觸發(fā)值的數(shù)據(jù),或給您MCU報(bào)超時(shí)中斷,去那邊做剩余數(shù)據(jù)的接收處理即可。


請(qǐng)問(wèn)如果用查詢(xún)方式來(lái)判斷接收的數(shù)據(jù),這樣準(zhǔn)確性會(huì)高一點(diǎn)嗎?感覺(jué)串口數(shù)據(jù)一接收,中斷就會(huì)出問(wèn)題。


您好,您可以使用查詢(xún)的方式去判斷INT腳的電平。通過(guò)INT腳去接收數(shù)據(jù)這個(gè)是最準(zhǔn)確的。您使用CH438Q如果會(huì)頻繁報(bào)中斷的話,那您可以根據(jù)雙方實(shí)際的數(shù)據(jù)傳輸,調(diào)整波特率?;蛘呷绻麛?shù)據(jù)量較多,可以適當(dāng)增加fifo觸發(fā)值的大小。


我使能FIFO后,設(shè)置觸發(fā)數(shù)量是16,為什么接收數(shù)據(jù)小于16也觸發(fā)中斷呢?


您好,CH438的中斷有兩個(gè)觸發(fā),一個(gè)是達(dá)到Fifo觸發(fā)值之后的接收中斷,還有一個(gè)是接受超時(shí)中斷(Time_out),這串口4個(gè)數(shù)據(jù)位時(shí)間里面未收到新的數(shù)據(jù),那么CH438會(huì)報(bào)這個(gè)超時(shí)中斷,讓主控芯片取走數(shù)據(jù)。


設(shè)置FIFO 觸發(fā)點(diǎn)為112字節(jié),接收200字節(jié)時(shí),僅觸發(fā)一次接收可用中斷(接收112字節(jié)),未再觸發(fā)接收超時(shí)中斷,是什么原因呢?


您好,您可以看一下是不是最后出發(fā)了接受線路狀態(tài)中斷里面的OVER,也就是緩沖區(qū)溢出中斷。

一般來(lái)說(shuō),F(xiàn)IFO觸發(fā)值不值很推薦設(shè)置過(guò)大,您可以設(shè)置一半比如64字節(jié)。這樣即使在接口通訊速度較慢的情況下,也能有足夠的緩沖區(qū)去準(zhǔn)備。


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

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