? ? ? ? 在藍(lán)橋杯嵌入式官方給我們提供好了,LCD顯示的底層源碼,我們只需要,記住里面的API函數(shù),會用這些函數(shù)就行。
源碼位置
????????在官方給的資料中找到這個文件名字DK117_G4 Data Packet->開發(fā)板驅(qū)動文件里面就是所有的底層文件有兩種類型,一種是基于HAL庫的一種是標(biāo)準(zhǔn)庫的。里面有LCD的底層驅(qū)動,還有IIC的底層驅(qū)動(軟件模仿IIC驅(qū)動)。
fonts.h文件是底層文字庫,這個也是必須需要的,要不然找不到文字的掃描顯示。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-484317.html
?
?復(fù)制粘貼
在STM32CubeMX生成的文件下面建一個LCD文件夾,存放上面復(fù)制的三個文件。
?
?打開Keil建一個分組名為LCD
剛剛加載進(jìn)去的LCD文件,會報錯因為文件名,不一樣,需要這樣修改
未修改時
修改好了?
?按照下面的順序把頭文件加載進(jìn)去
?加載完成點擊OK就行了。
API接口
我為大家介紹一下LCD底層的函數(shù)
LCD初始化函數(shù):
函數(shù) | void LCD_Init(void) |
參數(shù) | 無 |
返回值 | 無 |
作用 | 初始化LCD,這個很重要,在使用LCD之前一定要初始化 |
函數(shù)LCD_SetTextColor()
函數(shù) | void LCD_SetTextColor(vu16 Color) |
參數(shù) | 表示顏色 |
返回值 | 無 |
作用 | 這是文本顏色函數(shù),參數(shù)是表示,在LCD顯示字體顏色 |
?函數(shù)LCD_SetBackColor()
函數(shù) | void LCD_SetBackColor(vu16 Color) |
參數(shù) | 表示顏色 |
返回值 | 無 |
作用 | 這是文本背景顏色函數(shù),參數(shù)是表示,在LCD顯示字體的背景色 |
函數(shù)LCD_Clear()?
函數(shù) | void LCD_Clear(vu16 Color) |
參數(shù) | 表示顏色 |
返回值 | 無 |
作用 | 清除函數(shù),可以清除全屏,參數(shù)是,清屏之后屏幕是什么顏色的 |
函數(shù)void LCD_DisplayStringLine(u8 Line, u8 *ptr);?
函數(shù) | void LCD_DisplayStringLine(u8 Line, u8 *ptr) |
參數(shù) | Line:表示數(shù)據(jù)放在滴幾行,一個由10行 ptr:在LCD顯示的數(shù)據(jù),僅支持字符串。 |
返回值 | 無 |
作用 | 在LCD固定位置顯示數(shù)據(jù) |
常用的函數(shù)不多,這幾個是必用的函數(shù)。
我為大家重定義一下這個?LCD_DisplayStringLine()函數(shù),可以實現(xiàn)變量的顯示。
利用這個sprintf()函數(shù),可以重新定義一下。
#include <stdarg.h>
//可以實時打印變量
void LcdSprintf(u8 Line,char *format,...)
{
char String[50];
va_list arg;
va_start(arg,format);
vsprintf(String,format,arg);
va_end(arg);
LCD_DisplayStringLine(Line,String);
}
主函數(shù)
int main(void)
{
/* USER CODE BEGIN 1 */
char table[]="cuwsxhiax";
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
LCD_Init(); //LCD初始化
LCD_Clear(Black);//清除屏幕,并且顯示黑色
LCD_SetBackColor(Black);//設(shè)置字體背景色
LCD_SetTextColor(White);//設(shè)置字體顏色
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
u8 i=25;
LcdSprintf(Line3," i=%d",i);
LcdSprintf(Line4," sxhuaxjn");
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
實驗現(xiàn)象:
文章來源:http://www.zghlxwxcb.cn/news/detail-484317.html
?
到了這里,關(guān)于藍(lán)橋杯嵌入式基礎(chǔ)模塊——LCD顯示器的基本使用(新板)STM32G431(HAL庫開發(fā))的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!