|
之前,在https://shequ.stmicroelectronics.cn/thread-871512-1-1.html帖子中,用CubeMX配 LTDC调用font字库的方法显示字符。 在学习touchGFX的过程中发现有text控件,这次用控件来显示字符。 首先在touchGFX的Screens中加入Text area控件,如下图先点击①再点击②即可加入Text area控件③。选中控件在Properties中修改参数④。所需要更改的参数包裹,Typography选择V12小字体,Color设为0xFFFFFF此时字体为白色。当然在属性中的Translation中也可以填入需要显示的字符,但是这里填入的字符是静态的。需要动态显示的话,需要在代码中更改。这就是为什么要结合CubeMX生成代码。
再点击左侧的Texts⑤,点击Typographies,再点击选择的字体V12⑥,在WildcardCharacter⑦中填入需要显示的字符“!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~”,这一项不配置的话,LCD不能显示指定字符,显示为乱码。我在这里花了很多时间才配置正确。
以上配置完成后就可以Generate Code生成代码和对应的工程。此时可以用TouchGFX配合STM32CubeProgrammer将以上配置结果下载到板卡中进行验证。字符是显示正确的。 但是,这里要加个但是。TouchGFX生成的MDK工程是不能直接用的,因为编译就会出错,我的工程出现69个错误
这些错误大多数是头文件的问题。解决掉头文件的问题后。会出现FreeRTOS移植问题。portmacro.h 里的 GCC 内联汇编(__asm volatile("mrs %0, ipsr" ...))AC5 不认识,此时只需在MDK中将编译器改为AC6即可。当然前提是已经安装AC6.
还会出现内存不足的问题
打开工程使用的 .sct 分散加载文件,新增执行区并把这两个段放进去: SDRAM 0xC0000000 UNINIT 0x02000000 { TouchGFX_Framebuffer +0 { (.bss.TouchGFX_Framebuffer) (.bss.Video_RGB_Buffer) } } |
#双节活动 7.touchGFX中的红绿屏测试
#双节活动 6.touchGFX中字符显示横屏改竖屏
[STM32H735G-DK评测]六、Coremark跑分结果显示在LCD
#双节活动 5.(1laryer)touchGFX生成代码中双缓冲改为单缓冲完成字符显示
[STM32H735G-DK评测]五、接收串口字符并显示在LCD—text中
#双节活动 4.touchGFX生成代码中调用printf()仿真时存在的问题及解决
[STM32H735G-DK评测]四、TouchGFX在LCD—text中显示动态字符(2)
#双节活动 2.在touchGFX中配置text控件的一个小坑
[STM32H735G-DK评测]三、TouchGFX初体验,图片切换
【STM32H735G-DK 评测】二、利用LTDC在 LCD 上打印字符串
微信公众号
手机版