![]() |
發布時間: 2020-5-27 13:31
正文摘要:如題,做一個環境檢測系統,用了SHT31和GY39,一時興起,就把兩個溫濕度拿來比比,然后發現LCD1602第二排顯示錯誤,濕度的%RH后面多出了兩個HH,在按下按鍵(顯示大氣壓力和光照時)第二排變成了KPaaa,多了兩個aa但 ... |
跟樓上,在清屏后建議延時一段時間,充分清除。也可以讀取BF標志位(看單片機是不是忙) |
每次寫之前加個清屏指令試一下 |
這類問題主要容易發生在刷新字符個數不一。關鍵是LCD定位不準,原來字符沒有清除干凈。實際就是程序有不易察覺的漏洞。有一個方法可以避免此毛病:定義兩個長度16的緩存數組,一個用于上排,一個用于下排。把固定字符按序排列,其它用空格或0填充,程序運行中要改變的顯示內容以字符形式寫進數組。更新LCD顯示內容時一次把緩存16個字符全部刷新。 |
建議將顯示函數寫成帶行列和內容的格式,那樣找問題容易書寫更直觀。 |