目录
可以显示中文,可以显示中文,可以显示中文!!!中文字库位于Flash内存中。
底层文件
LCD显示屏的底层驱动文件由官方提供。
其中包括了下面3个文件。
工程头文件路径引入
#include "./lcd/bsp_ili9341_lcd.h"
#include "./flash/bsp_spi_flash.h"
头文件放置位置
LCD初始化
void ILI9341_Init ( void );
ILI9341_Init();
选择字体
void LCD_SetFont(sFONT *fonts);
LCD_SetFont(&Font8x16);//选择字体
设置字体
#define WHITE 0xFFFF //白色
#define BLACK 0x0000 //黑色
#define GREY 0xF7DE //灰色
#define BLUE 0x001F //蓝色
#define BLUE2 0x051F //浅蓝色
#define RED 0xF800 //红色
#define MAGENTA 0xF81F //红紫色,洋红色
#define GREEN 0x07E0 //绿色
#define CYAN 0x7FFF //蓝绿色,青色
#define YELLOW 0xFFE0 //黄色
#define BRED 0xF81F
#define GRED 0xFFE0
#define GBLUE 0x07FF
void LCD_SetColors(uint16_t TextColor, uint16_t BackColor);
LCD_SetColors(WHITE,BLACK);//字体白色,背景黑色
清屏
void ILI9341_Clear( uint16_t usX, uint16_t usY, uint16_t usWidth, uint16_t usHeight );
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */void ILI9341_Clear( uint16_t usX, uint16_t usY, uint16_t usWidth, uint16_t usHeight );
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */
显示内容
void ILI9341_DispStringLine_EN_CH( uint16_t line, char * pStr );
ILI9341_DispStringLine_EN_CH(LINE(0),"因心");//第一行显示字符串
ILI9341_DispStringLine_EN_CH(LINE(1),",三人水");//第二行显示字符串
中文乱码解决方法
1、将下面文件放到SD卡的根目录下,然后插到单片机上。
2、将串口调试助手配置为:
波特率:115200
数据位:8
停止位:1
校验位:无
3、将下面工程源码烧入板子上,通过串口调试助手进行查看和进行相应的操作。
4、等待拷贝完成即可
例程
例程说明
在LCD显示屏上显示中文。
main.h
#ifndef _MAIN_H_
#define _MAIN_H_
#include "stm32f10x.h" // Device header
#include "stm32f10x_gpio.h" // Keil::Device:StdPeriph Drivers:GPIO
#include "stm32f10x_tim.h" // Keil::Device:StdPeriph Drivers:TIM
#include <stm32f10x_rcc.h>
#include <stm32f10x_usart.h>
#include <stm32f10x_sdio.h>
#include <misc.h>
#include <stdio.h>
#include "timch.h"
#include "bsp_SysTick.h"
#include "delay.h"
#include "./lcd/bsp_ili9341_lcd.h"
#include "./flash/bsp_spi_flash.h"
#endif
main.c
#include "main.h"
int main() {
delay_init();
ILI9341_Init();
LCD_SetFont(&Font8x16);//选择字体
LCD_SetColors(WHITE,BLACK);//字体白色,背景黑色
ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,显示全黑 */
while(1){
ILI9341_DispStringLine_EN_CH(LINE(0),"因心");//第一行显示字符串
ILI9341_DispStringLine_EN_CH(LINE(1),",三人水");//第二行显示字符串
}
}