在官方提供的BSP例程中,字符显示本身就有分别显示8、12、16、20和24点阵ASCII字符的函数,所以我就尝试利用官方现成的函数来显示有限的汉字。首先找到其字库文件,这些字库文件不是通常以.h标识的头文件,而是以.c为后缀的C文件,同样是通过include包含进来。分析了一个字符,了解到其结构是横向高位在前、从左到右、从上到下的结构,于是便在字模生成软件中生成了24*24点阵的几个汉字的字模。如何在程序中调用这几个汉字字模呢?思考后决定用最简单的办法,即用生成的三个“探索板”字模替换原字库末尾不常用的“{|}”三个字符:
/ @# x2 b { y7 \, F4 q 然后在界面显示中添加代码,如下图:7 Q7 |! f$ p+ K6 c* S3 E / a9 n \6 Z& Q& q7 n# v
' @2 m# V% o& o3 C- J 编译下载后发现显示效果不佳,汉字的后几列没有显示出来。仔细一看说明才知道其24点阵实际上只显示24*17点阵,后面的7列不显示(因为ASCII码显示宽高相同的话字型不美观)。. H i% e8 E7 T: X X7 M: Y & V" k/ k/ g4 j, t! n
8 c$ W: { B6 f7 p7 B 考虑到若修改显示函数的话太麻烦,只能修改字模才更方便些,于是只好回到字模生成软件里来修改字模:
字模修改完成后再编译下载,勉强可以显示出汉字了:/ L3 |/ |, v+ a# u; C! S# V" v
这个试验没有太多的实用价值,因为要增加显示的汉字就要对应减少原来的ASCII字符,所以显示汉字的数量杜极其有限。另外字模生成软件中没有24*17点阵的模板,全靠手工修改字模效率很低,不实用。下一步再添加对应的字符显示函数试试看。 |
【STM32C5教程】(9)DAC 模拟量信号输出实验
STM32C543RC开发板Stop、Sleep和standby模式测试
【STM32C5教程】(10)LPUART DMA 通信实验
【STM32C5教程】(8)ADC 模拟量数据采集实验
【STM32C5教程】(7)TIM1 互补 PWM 输出实验
【STM32C5教程】(6)定时器 PWM 输出实验
【STM32C5教程】(5)定时器周期中断实验
【STM32C5教程】(4)GPIO 外部中断实验
【STM32C5教程】(3)GPIO 按键输入实验
STM32C542RC开发板PWM呼吸灯及多功能按键实验
微信公众号
手机版