1024手机基地看电影,午夜福利视频导航,国产精品福利在线一区,亚洲欧美日韩另类成人,在线观看午夜日本理论片,成年超爽免费网站,国产精品成人免费,精品动作一级毛片,成人免费观看网站,97精品伊人久久大香蕉

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1920|回復: 1
收起左側

IAR For STM8調用子函數后LCD1602顯示異常

[復制鏈接]
回帖獎勵 10 黑幣 回復本帖可獲得 2 黑幣獎勵! 每人限 1 次(中獎概率 80%)
ID:275894 發表于 2019-8-31 13:10 | 顯示全部樓層 |閱讀模式
有一個LCD1602顯示的問題,困擾了好幾天,檢查過時序,檢查過延時,也檢查過IAR配置,都沒有問題。
一直找不到解決辦法,不知有誰遇到過類似的現象沒?
如果有,麻煩指點一下迷津,謝謝。
具體問題如下:

1)將LCD1602 寫指令/寫數據以一個子函數單獨寫進一個名為LCD1602.c的文件里;

2)在工程文件里將其加入到Sub_funtion子目錄下

3)在LCD1602.c中創建一個LCD1602_DIS_CHAR()的子函數


4)在主函數中直接調用LCD1602_DIS_CHAR(),比如在LCD1602的第一行第一列顯示字符'M',第二行第二列顯示字符'X',
實際顯示結果如下:



5)同樣的配置,在LCD1602.c中新建一個名為show_X_M()的子函數,再在主函數中直接調用show_X_M()函數,則顯示正常

這意味著,所有用LCD1602顯示的指令(字符,數據等)必須寫到LCD1602.c的子函數里面,再在主函數中調用該子函數才能保證LCD1602顯示正常。
但如果用LCD1602顯示IIC或者SPI等傳遞的數據,意味著這些協議也得寫進LCD1602.c里面。導致程序失去了模塊化的意義,不方便檢查和調試。

圖片中為對應步驟的截圖
1.png

example13.4.8.rar

477.36 KB, 下載次數: 3

回復

使用道具 舉報

ID:275894 發表于 2019-10-12 09:07 | 顯示全部樓層
問題已經解決,調用各個子函數需要事先編寫頭文件,并將子函數內的函數名在頭文件內聲明
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

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