原理图
CubeMX配置
也可直接引用官方例程的LCD初始化函数,不需要配置。
keil代码
首先将官方例程中的几个程序加入到创建的文件夹中
头文件引用
#include"led.h"
#include"lcd.h"
#include"stdio.h"
LCD_Init();//LCD初始化
LCD_Clear(Black);
LCD_SetBackColor(Black);
LCD_SetTextColor(White);
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
for(uchar i=0;i<8;i++)
{
led_disp(0x01<<i);
char text[30];
sprintf(text,"LED:%d ",i+1);
LCD_DisplayStringLine(Line4,(uint8_t *)text);
HAL_Delay(500);
}
}
实现效果为跑马灯,LCD显示第几个灯亮
常见函数
//在某一行的第i列显示一个字符
LCD_DisplayChar(Line0,320-(16*i),'*');
高亮显示
//str为需要显示的字符串
//pos为需要高亮显示的字符位置
//color为需要高亮显示的颜色
void highlight(char *str,uchar pos,uint color)
{
uchar i=0;
LCD_SetBackColor(Black);
for(i=0;i<20;i++)
{
if(i!=pos)
LCD_DisplayChar(Line3,320-16*i,str[i]);
}
LCD_SetBackColor(color);
LCD_DisplayChar(Line3,320-16*pos,str[pos]);
}