在官方提供的BSP例程中,字符显示本身就有分别显示8、12、16、20和24点阵ASCII字符的函数,所以我就尝试利用官方现成的函数来显示有限的汉字。首先找到其字库文件,这些字库文件不是通常以.h标识的头文件,而是以.c为后缀的C文件,同样是通过include包含进来。分析了一个字符,了解到其结构是横向高位在前、从左到右、从上到下的结构,于是便在字模生成软件中生成了24*24点阵的几个汉字的字模。如何在程序中调用这几个汉字字模呢?思考后决定用最简单的办法,即用生成的三个“探索板”字模替换原字库末尾不常用的“{|}”三个字符:
然后在界面显示中添加代码,如下图:6 w; k7 K% s8 P2 x
7 Z. j( k: e$ b: J 编译下载后发现显示效果不佳,汉字的后几列没有显示出来。仔细一看说明才知道其24点阵实际上只显示24*17点阵,后面的7列不显示(因为ASCII码显示宽高相同的话字型不美观)。1 ]7 u6 D. N: o( ] H8 s5 z0 r
考虑到若修改显示函数的话太麻烦,只能修改字模才更方便些,于是只好回到字模生成软件里来修改字模:
字模修改完成后再编译下载,勉强可以显示出汉字了:0 @8 `, a: O& f/ y* ~) Y6 p* F- g
6 i+ ]/ {% E( G8 H6 W0 G: K8 d 这个试验没有太多的实用价值,因为要增加显示的汉字就要对应减少原来的ASCII字符,所以显示汉字的数量杜极其有限。另外字模生成软件中没有24*17点阵的模板,全靠手工修改字模效率很低,不实用。下一步再添加对应的字符显示函数试试看。: P( {; Y2 }+ z; B % m* z/ m9 G; x1 |! A- N1 r |
【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呼吸灯及多功能按键实验
微信公众号
手机版