本篇內容介紹了“LiteOS裸機驅動移植02LCD的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
成都創(chuàng)新互聯(lián)自成立以來,一直致力于為企業(yè)提供從網(wǎng)站策劃、網(wǎng)站設計、做網(wǎng)站、成都做網(wǎng)站、電子商務、網(wǎng)站推廣、網(wǎng)站優(yōu)化到為企業(yè)提供個性化軟件開發(fā)等基于互聯(lián)網(wǎng)的全面整合營銷服務。公司擁有豐富的網(wǎng)站建設和互聯(lián)網(wǎng)應用系統(tǒng)開發(fā)管理經(jīng)驗、成熟的應用系統(tǒng)解決方案、優(yōu)秀的網(wǎng)站開發(fā)工程師團隊及專業(yè)的網(wǎng)站設計師團隊。
開發(fā)板使用的LCD屏幕為1.3寸的TFT彩屏,色彩深度16bit,分辨率240*240,使用 SPI 接口與 MCU 之間通信。
LCD的底層是使用SPI驅動的,那么除了 STM32CubeMX 生成的spi.h
和spi.c
文件,還需要自己在此基礎上手寫LCD屏幕的驅動文件。
在復制文件的時候,按照上一篇文章中所說的,復制spi.h
到Inc 文件夾,復制spi.c
到 Src 文件夾,再復制自己編寫的驅動文件lcd.c
、lcd.h
以及字庫文件font.h
到 Hardware文件夾。
IoT-Studio中提供的默認工程已經(jīng)復制好了這些文件,無需再次添加,如圖:
因為 LiteOS 的整個項目工程使用 make 構建,所以復制驅動文件之后,需要添加驅動文件的路徑到 makefile 中,加入編譯。
project.mk
文件指明了工程中所有文件的路徑:
在該文件中:
C文件路徑
HARDWARE_SRC:對應Hardware文件夾下的Src文件夾
USER_SRC:對應Src文件夾
頭文件路徑
HARDWARE_INC:對應Hardware文件夾下的Inc文件夾
USER_INC:對應Inc文件夾
如下,LCD驅動的底層SPI接口代碼spi.c
路徑添加到USER_SRC中:
LCD驅動的底層SPI接口代碼spi.h
路徑添加到USER_INC中:
基于SPI驅動的LCD屏幕驅動文件lcd.c
添加到HARDWARE_SRC中:
基于SPI驅動的LCD屏幕驅動頭文件lcd.h
和字庫文件font.h
添加到 HARDWARE_INC 中:
至此,復制文件到LiteOS工程中,并將新復制的文件路徑添加到makefile中,加入工程編譯,就完成了驅動的移植。
在上一篇文章中詳細的講述了在LiteOS中初始化設備的兩種方式:
在系統(tǒng)啟動調度之前初始化:設備在系統(tǒng)中隨時可被任意任務使用
在任務中初始化:設備一般只在該任務中被使用
本文中移植的LCD設備,并不需要專門的任務去操作LCD,所以應該在系統(tǒng)啟動之前就進行初始化,然后每個任務都可以操作LCD設備進行顯示。
在 main.c 中的 HardWare_Init()函數(shù)中添加 LCD 初始化代碼:
這里為了不影響后面的實驗,將工程中默認的字符顯示代碼注釋掉:
接下來首先創(chuàng)建一個文件夾(如果已有,不用再次創(chuàng)建),用于存放本系列教程實驗的代碼:
在該文件夾中創(chuàng)建一個文件:
編寫代碼:
#include <osal.h> #include <lcd.h> static int lcd_demo_entry() { //測試顯示字符 POINT_COLOR = BLUE; LCD_ShowString(0, 0, 240, 32, 32, "Welcome To IoT"); POINT_COLOR = RED; LCD_ShowString(0, 32, 240, 24, 24, "I am BearPi"); POINT_COLOR = BLACK; LCD_ShowString(0, 56, 240, 16, 16, "LCD Test ......"); POINT_COLOR = GREEN; LCD_ShowString(0, 72, 240, 12, 12, "Powerd by Huawei LiteOS!"); //測試繪制矩形 POINT_COLOR = BLUE; LCD_DrawRectangle(20, 100, 120, 200); //測試繪制圓 POINT_COLOR = RED; LCD_Draw_Circle(180, 150, 50); return 0; } int standard_app_demo_main() { osal_task_create("lcd_demo",lcd_demo_entry,NULL,0x400,NULL,2); return 0; }
然后按照之前的方法,在 user_demo.mk 中將lcd_driver_demo.c
文件添加到makefile中,加入編譯:
最后在.sdkconfig
中配置開啟宏定義:
編譯,燒錄,即可看到LCD屏幕的顯示:
“LiteOS裸機驅動移植02LCD的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
當前題目:LiteOS裸機驅動移植02LCD的方法是什么
當前路徑:http://m.rwnh.cn/article6/jepeog.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供移動網(wǎng)站建設、外貿(mào)網(wǎng)站建設、App設計、服務器托管、網(wǎng)站營銷、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)