久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

標(biāo)題: STM32復(fù)位后遙控?cái)?shù)據(jù)出錯(cuò)的解決方法 [打印本頁(yè)]

作者: heila    時(shí)間: 2015-12-9 01:44
標(biāo)題: STM32復(fù)位后遙控?cái)?shù)據(jù)出錯(cuò)的解決方法
DR16接收機(jī)的Dbus取反后接到STM32串口的RX腳,使用官方遙控器控制協(xié)議V1.4.pdf 中提供的參考代碼接收數(shù)據(jù),可以正常接收。在DMA中斷里面加上IO翻轉(zhuǎn)后,可以通過(guò)邏輯測(cè)試儀看到如下波形:
如上圖所示,18個(gè)字節(jié)發(fā)送約2ms多,周期約14ms(和手冊(cè)里的7ms有出入),18個(gè)字節(jié)接收完畢后進(jìn)入DMA中斷,解析各個(gè)字節(jié)的信息。另一個(gè)串口打印出的解析后的遙控?cái)?shù)據(jù)如下(四個(gè)通道搖桿均在中位,S1、S2中位,未接入鍵鼠信息):
但經(jīng)過(guò)測(cè)試,在接收機(jī)一直上電的情況下,復(fù)位STM32,有時(shí)會(huì)出現(xiàn)如下圖的波形,DMA在18個(gè)字節(jié)未傳輸完成的時(shí)候就中斷了:
另一個(gè)串口打印出的解析后的遙控?cái)?shù)據(jù)如下(四個(gè)通道搖桿均在中位,S1、S2中位,未接入鍵鼠信息):
究其原因,是復(fù)位并配置好串口后,串口收到的第一個(gè)字節(jié)有可能不是一幀(18個(gè)字節(jié))中的第一個(gè)字節(jié),而DMA只管18個(gè)字節(jié)中斷一次,所以就會(huì)出錯(cuò)。出錯(cuò)的概率大約為2/14,14%。 解決的方法就是讓串口接收到的第一個(gè)字節(jié)是一幀中的第一個(gè)字節(jié),可以算好時(shí)間后讓接收機(jī)和STM32同時(shí)上電,保證接收數(shù)據(jù)正確。但在調(diào)試過(guò)程中,難免會(huì)經(jīng)常復(fù)位,所以最好能在代碼里面解決這個(gè)問(wèn)題。
由于Dbus的數(shù)據(jù)中不包含幀頭或幀尾之類的標(biāo)識(shí)信息,所以不能通過(guò)識(shí)別標(biāo)識(shí)信息的方法來(lái)解決這個(gè)問(wèn)題。筆者解決這個(gè)問(wèn)題的思路大致為:首先開(kāi)啟串口的接收中斷,當(dāng)串口收到第一個(gè)字節(jié)的時(shí)候進(jìn)入中斷服務(wù)函數(shù),在中斷服務(wù)函數(shù)里面重置串口(重置后不會(huì)再進(jìn)入串口接收中斷),延時(shí)3ms,延時(shí)結(jié)束的時(shí)候肯定就是在兩幀信息的間隔里面,然后再配置并開(kāi)啟DMA,這樣DMA傳輸?shù)牡谝粋(gè)字節(jié)必然就是一幀的首字節(jié)。經(jīng)筆者的測(cè)試,這種方法效果良好:
如上圖所示,就算串口收到的第一個(gè)字節(jié)不是幀首字節(jié),DMA也能正確的接收后續(xù)的數(shù)據(jù)。






歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日本久久网站 | 国产精品久久久久久久久久免费 | 国产欧美一区二区久久性色99 | 在线视频a | 黄色在线免费观看视频网站 | 久久久www成人免费无遮挡大片 | 国产精品久久久久久久久久三级 | 91免费观看 | 中文字幕免费观看 | 视频一区二区在线观看 | 国产在线精品一区二区三区 | 亚洲欧洲精品成人久久奇米网 | 欧美成人精品 | 国产精品久久性 | 亚洲va欧美va人人爽午夜 | 久久蜜桃资源一区二区老牛 | 免费在线一区二区三区 | 国产精品综合 | www.奇米| 欧美日韩亚洲国产综合 | 操久久| 天天躁日日躁狠狠的躁天龙影院 | 亚洲一区二区在线播放 | 成人免费看 | 国产一区二区精品自拍 | 在线a视频网站 | 国产亚洲精品美女久久久久久久久久 | 日韩午夜激情 | 午夜精品| 91精品国产91久久久久久最新 | 无码国模国产在线观看 | 国产大片黄色 | 国产午夜精品久久久 | 亚洲福利在线观看 | 久久精品国产亚洲夜色av网站 | 亚洲精品久久久久久久久久久 | 久草在线中文888 | 中文字幕日韩欧美一区二区三区 | xxxxxx国产 | 日韩欧美在线视频一区 | 日本a视频|