
一、如何在LCD上显示一行字符串? 1.首先找到液晶屏驱动文件LQ12864.c ![]() 2.LQ12864.c文件中的LCD_P6x8Str()函数就是用来打印字符串的 3.对void LCD_P6x8Str(unsigned char x,unsigned char y,unsigned char ch[])进行解释: unsigned char x //x坐标,以像素点为单位 unsigned char y //y坐标,以行为单位 unsigned char ch[] //打印到屏幕上的字符串 4.例:在屏幕上打印“hello world”
![]() ![]() 5. LCD_P6x8Str()这个函数中的6x8的意思是,将行宽为6个像素点,列宽为8个像素点的区域作为一个字符的输出区域 6. 例:for循环的嵌套实现如下的3行5列“#”阵
用到的函数: //外循环循环3次,内循环循环5次 for(i = 0; i < 3; i++)//控制行 i代表 y坐标 { for(j = 0; j < 5; j++)//控制列 j代表 x坐标 { LCD_P6x8Str(20+j*6,i,“#”);//jx6是字符的宽度,x坐标以像素点为单位 } 7.解释为什么是i代表y坐标,j代表x坐标: ![]() 如图所示,就是LCD的打印方向,每打印一行,横坐标也就是j会移动5次,所以i代表y坐标,j代表x坐标。 8.解释20+j*6: 20是让第20个像素点作为开始位置,jx6是一个“#”在x轴方向占用6个像素点,为了打印的字符不重叠,每隔j*6个像素点打印一个字符 二、如何自LCD上显示中文 1.这里用到了字模生成软件 ![]() 就是图中的软件 2.配置好用到的一些参数 ![]() ![]() ![]() ![]() 这样“冰河”这两个字的字模就生成了 3. 打开LCD驱动文件 ![]() 把字模生成的16进制数复制到 ![]() ![]() 4. 打印汉字“冰河”
![]() 三、如何在LCD上画图 1.同理,用到的是驱动文件中的Draw_BMP()函数 2.解释函数void Draw_BMP(unsigned char x0,unsigned char y0,unsigned char x1,unsigned char y1,unsigned char * bmp) 3.unsigned char x0,unsigned char y0 //矩形左顶点 x0以像素点位单位 y0以行为单位 unsigned char x1,unsigned char y1 //矩形右下角顶点 unsigned char * bmp //生成的数组 Draw_BMP(32,0,95,6,map);//将屏幕中间的一半作为画纸 // 64 * 56,32到95共有64个像素点,0~6共7行,一行8个像素点,共56个像素点 Draw_BMP(0,0,127,7,map);//将这个屏幕作为画纸 // 128 * 64 4.这里用到的求字模软件是 ![]() 5.配置参数 ![]() ![]() 6.打印刚画的图
![]() ![]() ———————————————— 版权声明:冰·河 |
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南