欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

LCD12864串行接法使用單片機串口亂碼問題

查看數: 4263 | 評論數: 6 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2019-2-6 00:12

正文摘要:

為啥給單片機發送包好+CI就會引發顯示亂碼,不管+CI前面后面是否有字符,都能引起顯示亂碼。 還有一種情況 單獨CI一直發送也會一起亂碼。其他字符均不會引起亂碼,包括中文。只有單片機接收到+CI或者單獨CI才會亂碼 ...

回復

ID:383374 發表于 2019-2-8 18:37
yaoji123 發表于 2019-2-8 15:11
LCD12864串口通訊對接收數據有處理時間的,用單片機串口通訊給它傳送數據要注意間隔時間,不能連續不斷的摶 ...

這個我明白,現在的問題不在這。問題是+cI會引起我屏幕顯示亂碼。
你說我不可能每發送兩三次,就重新初始化LCD吧。
當然也沒這個必要,因為除了+CI外其他字符,包括中文也不會導致顯示亂碼,哪怕我5ms向單片機發送數據,也不會引起任何問題。



.
ID:432823 發表于 2019-2-8 15:11
LCD12864串口通訊對接收數據有處理時間的,用單片機串口通訊給它傳送數據要注意間隔時間,不能連續不斷的摶。最好做好應答機制。便于LCD2864處理數據。
ID:383374 發表于 2019-2-8 12:57
yzwzfyz 發表于 2019-2-7 01:44
把你的程序畫成流程圖看看,邏輯上有何不妥?
寫程序的習慣不好,記住要領:
1、串行中斷只接收數據,并存 ...

就是串口接收到+I就開始接收數據,遇到#就結束接收。如果是+開頭與者I開頭就存入緩沖區(數據幀頭)。不是就不接收,如果遇到#(
數據幀尾)
就停止接收。
顯示亂碼,跟接收的esp返回值代碼有關,跟我數據代碼無關。還有數據丟失一次,跟跟覆蓋沒有關系,因為只要我發送第一次,第二次不管多久間隔都能接收到,你連續發送多次,也是會每兩次接收到一次。
應該問題出在解析代碼上,但是我也沒有發現有啥不對。
ID:123289 發表于 2019-2-7 01:44
把你的程序畫成流程圖看看,邏輯上有何不妥?
寫程序的習慣不好,記住要領:
1、串行中斷只接收數據,并存入緩沖區,做個收到的標記就好。盡可能不要在中斷中做其它任何事情。
2、數據處理,如顯示等等地,在主程序中進行。
道理如下:串行數據是一個個串來的,一個數據到來后,你收到了,但處理它可能需要花一些時間,如顯示中的硬件等待...,如果執行時間超過的一個字節的串行時間,則下一個串行數據就能丟失,因為這時你的串行中斷還未退出,新的數據來了無法再次進入中斷,如此就可以丟失后面的串行數據!所以中斷服務程序要盡可能的用時短!
ID:383374 發表于 2019-2-6 01:54
這是我編寫的串口接收代碼。

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表