今天上班的時(shí)候
在用一個(gè)單片機(jī)寫串口發(fā)送程序
讓上位機(jī)不斷監(jiān)聽
大多數(shù)情況都是正常的
只是每隔幾分鐘突然掉幀
數(shù)據(jù)明明是“33”
卻變成“30”
還掉了幀
出現(xiàn)如下圖情況:
在紅色方框中嚴(yán)重掉幀,并且數(shù)據(jù)明明是"33" 卻變成了"30",于是我百度了一下,問題主要有以下幾個(gè)方面:
(1)波特率:最直接的方法就是降低波特率。(2)發(fā)送間隔:如果條件允許,可以將發(fā)送端的發(fā)送頻率降低,采用定時(shí)發(fā)送的方式,每間隔一段時(shí)間發(fā)送;如果定時(shí)50ms有掉幀,定時(shí)100ms試試。(3)上拉電阻:根據(jù)網(wǎng)上有些文章提到的方法,還可以在串口接收端增加上拉電阻,有時(shí)候即使發(fā)送端沒有發(fā)出數(shù)據(jù),接收端也會(huì)誤接到一些數(shù)據(jù),頻繁進(jìn)入中斷也會(huì)降低單片機(jī)處理效率,在電路上增加上拉電阻的目的就在于降低誤接的概率,提高單片機(jī)的處理效率。 (4)不要使用過長的串口線
(5)使用外部無源晶振,不要使用有源晶振和內(nèi)部晶振。
(6)檢查代碼,是不是串口工作時(shí),其他的更加高級的中斷打斷了串口。這些方法都沒有實(shí)踐過,明天上班再來實(shí)踐一下吧,如果同學(xué)們認(rèn)為還有其他的問題,留言吧,我明天統(tǒng)一實(shí)操。
-
串口
+關(guān)注
關(guān)注
15文章
1598瀏覽量
81514
發(fā)布評論請先 登錄
變頻器突然掉負(fù)載對變頻器有什么影響

如何使用20829 can-fd發(fā)送64字節(jié)擴(kuò)展標(biāo)識符數(shù)據(jù)幀?
第十四章 USART——串口通訊

下位機(jī)CY7C68013A發(fā)送數(shù)據(jù),上位機(jī)C#讀取數(shù)據(jù),510字節(jié)一幀,會(huì)丟幀或者幀內(nèi)錯(cuò)位是怎么回事?
HarmonyOS應(yīng)用高負(fù)載場景分幀渲染

STM32Cube學(xué)習(xí)筆記 (十六篇全)
工業(yè)與IT網(wǎng)絡(luò)中的以太網(wǎng)數(shù)據(jù)幀:格式與用途全解析

評論