stm32用tft-lcd 显示自定义大小的字体

news/2025/1/11 12:44:45/

笔者用的开发环境是正点原子的stm32 mini 版本,其中需要用到lcd显示中文,正点原子的例程上的字体显示得太小了,于是自己根据例程来写一个可以显示大点字体的函数。

1、首先打开取模软件pctolcd2002,选好字体并做相应设置,笔者想显示32 x 32 的字体,于是设置汉字点阵宽高都为32,字宽和字高也是32,如下图32

2、设置输出,如图

接着输入要显示的字体,并点击生成字模

 3、接着对生成的字模做处理,如下图:

这是软件生成的原字模:

 处理后的字模

 处理其实就是将它用{}把一个字的字模单独括起来,然后将字模在工程文件中定义

因为32X32的每个字占128个字节,所以数组后面是128。

 4、定义使用32x32字体的函数

//x,y屏幕的位置
//index,字所在数组的位置,在本例中“你”就是0,“好”为1
//font_color 字的颜色
//back_color 背景颜色void LCD_ShowTitle(u16 x,u16 y,u8 index,u16 font_color,u16 back_color)
{ u8 temp,t,t1,size = 32;u16 y0=y;u8 csize= (size*size - 64)/8;//得到字体一个字符对应点阵集所占的字节数for(t=0;t<csize;t++){ temp=a[index][t]; for(t1=0;t1<8;t1++){if(temp&0x80)LCD_Fast_DrawPoint(x,y,font_color);else LCD_Fast_DrawPoint(x,y,back_color);temp<<=1;y++;if((y-y0)==size){y=y0; x++;break;}} } 
}

5、调用

LCD_ShowTitle(20,20,0,0xFFFF,0x0000);

如需要显示其他字体大小的,直接修改字模然后调用此函数,修改 函数里的size的值即可。

ps:当字体设置过大时函数可能会失效,目前笔者显示48x48的字体时就失效了,如有读者发现问题敬请指正

字符取模软件的压缩包,解压就可用-嵌入式文档类资源-CSDN下载用于stm32的lcd显示屏显示中文字体取模更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/eachanm/84261946


http://www.ppmy.cn/news/724283.html

相关文章

广州大彩串口屏与STM32F407通讯

目录 广州大彩串口屏与STM32F407通讯一、大彩串口屏介绍二、硬件连接三、程序移植四、触摸屏组态及函数调用五、最终效果结语 广州大彩串口屏与STM32F407通讯 之前一直用正点原子的LCD屏&#xff0c;但是占用太多GPIO引脚&#xff0c;所以打算换一块串口屏&#xff0c;某宝上看…

STM32-GPIO介绍

目录 1.概述 2.GPIO工作原理 2.1 保护二极管及上下拉电阻 2.2 GPIO工作模式 2.2.1 浮空输入模式 2.2.2 上拉输入模式 2.2.3 下拉输入模式 2.2.4 模拟输入模式 2.2.5 开漏输出模式 2.2.6 开漏复用输出模式 2.2.7 推挽输出模式 2.2.8 推挽复用输出模式 2.3 注意事项 …

stm32的DMA+ADC多通道数据采集

1前言 硬件&#xff1a;stm32f103rct6&#xff0c;输入大容量产品。 软件&#xff1a;keil MDK5.0 固件库&#xff1a;stm32f1标准外设库。 调试软件&#xff1a;友善串口助手 stm32有多达16个通道&#xff0c;常用的采样方法有两种&#xff0c;一是分时采集每个通道的数据&am…

STM32F407多路串口通信进行数据收发

一直被说是就不能把几个串口放在一起&#xff0c;写个标准例程直接用&#xff0c;非要每次用哪个串口才现场改程序&#xff0c;被迫把usart1,usart2,usart3进行了资源整合&#xff0c;挂在这以备不时之需。 功能简述&#xff1a; 串口1&#xff0c;串口2&#xff0c;串口3串口…

乐鑫Esp32学习之旅 20 一篇好文,开发过程中编译esp32固件太大,无法正常启动?教你如何自定义分区表partitions.csv。

本系列博客学习由非官方人员 半颗心脏 潜心所力所写&#xff0c;仅仅做个人技术交流分享&#xff0c;不做任何商业用途。如有不对之处&#xff0c;请留言&#xff0c;本人及时更改。 1、 爬坑学习新旅程&#xff0c;虚拟机搭建esp32开发环境&#xff0c;打印 “Hellow World”。…

stm32F103C8T6基于FreeRTOS操作系统的多任务

目录 一、FreeRTOS简介1.什么是FreeRTOS?2. FreeRTOS特点 二、创建项目三、编写代码四、编译烧录五、总结参考链接 一、FreeRTOS简介 1.什么是FreeRTOS? 我们看一下FreeRTOS的名字&#xff0c;可以分为两部分:Free和 RTOS&#xff0c;Free 就是免费的、自由的、不受约束的意…

深入理解STM32内存管理

参考&#xff1a;详解ROM和RAM 作者&#xff1a;嵌入式实验楼 网址&#xff1a;https://mp.weixin.qq.com/s/y2aG7kX-6CTyeMzEJW_YHw 内存相关博文&#xff1a; 1、内存四区&#xff08;代码区 静态区 栈区 堆区&#xff09; 2、程序运行时对应的内存分布&#xff08;BSS段、数…

stm32F103C8T6基于FreeRTOS操作系统的多任务(STM32CUBEMX)

文章目录 一、简介二、任务要求三、创建项目三、编写任务代码四、效果五、参考 一、简介 FreeRTOS&#xff0c;是指实时操作系统&#xff0c;是可以多任务进行的一个操作系统&#xff0c;相当于裸机开发而已&#xff0c;任务的实现相对方便很多。FreeRTOS(读作"free-arr-…