【STM32F429】第18章 ThreadX GUIX汉字显示(小字库)

最新教程下载:http://www.armbbs.cn/forum.php?mod=viewthread&tid=98429

第18章       ThreadX GUIX汉字显示(小字库)

本章节为大家讲解GUIX汉字显示的小字库方式。

目录

第18章       ThreadX GUIX汉字显示(小字库)

18.1 初学者重要提示

18.2 GUIX Studio设置汉字显示

18.2.1        添加中文

18.2.2        删除英文

18.2.3        设置语言ID

18.2.4        添加字库

18.2.5        为Prompt控件设置汉字

18.3 GUIX汉字显示设置

18.4 实验例程设计框架

18.5 实验例程

18.6 总结


 

18.1 初学者重要提示

  1.   务必看第11章学习GUIX Studio的使用方法和第12章学习GUIX Studio生成的代码移植到硬件平台的方法。
  2.   GUIX Studio生成的汉字是采用的UTF-8编码。
  3.   GUIX Studio V6.0.2设置字体语言后不能立即生效,关闭软件重新打开后解决http://www.armbbs.cn/forum.php?mod=viewthread&tid=99661

18.2 GUIX Studio设置汉字显示

GUIX Studio的设置方法与第11章一样,我们这里把控件的位置和大小做了调整,并为window窗口创建一个定时器。

新调整的界面效果如下:

 

18.2.1        添加中文

首先,我们要在Languages对话框添加中文语言。打开菜单Configure->Languages:

打开后的效果如下:

点击按钮Add Language:

添加后的效果如下:

 

 

这样就完成了在原来英文的基础上再添加一种语言。

18.2.2        删除英文

添加了新的语言后,删除GUIX Studio默认创建的英文,在Language Index里面选择1,然后点击Delecte Languagle:

删除后,Number of Languages语言数变成了1:

18.2.3        设置语言ID

Language ID这里,我们要选项使用Chinese[zh]

18.2.4        添加字库

在GUIX Studio的如下位置添加新的字库(推荐将此字库和GUIX Studio工程文件放到一起):

点击后,弹出的对话框如下:

  1. Browse按钮用于选择字库。
  2. 此处推荐选择Project Relative Path相当路径。
  3. 设置字体高度为32点阵。
  4. 此处的勾选比较重要,用户可以在GUIX Studio里面方便的添加各种基于此字体的汉字,都会为其生成相应的代码。
  5. 使用8倍抗锯齿。
  6. 生成完毕后,别忘了点击保存。

18.2.5        为Prompt控件设置汉字

选中创建的Prompt文本控件,设置Text内容:安富莱电子,设置Font采用我们前面创建的NewFont。

 

18.3 GUIX汉字显示设置

设置了显示汉字,函数gx_studio_display_configure的第3个参数要根据GUIX Studio的设置来选择。我们这里设置显示中文,在文件guiapp_resources.h里面会生成专门的宏:

#define LANGUAGE_CHINESE 0

#define DISPLAY_1_LANGUAGE_TABLE_SIZE 1

根据这个宏,修改MainTask.c文件里面函数gx_studio_display_configure的第3个参数:

gx_studio_display_configure(DISPLAY_1, stm32h7_graphics_driver_setup_565rgb,

        LANGUAGE_CHINESE, DISPLAY_1_THEME_1, &root);

18.4 实验例程设计框架

本章例程的重点是GUIX的中文显示。

 

18.5 实验例程

(注,如果是电阻屏,需要做触摸校准,校准方法看本教程附件章节A)

配套例子:

本章节配套了如下两个例子供大家移植参考:

  •   V6-2019_GUIX Chinese Font

GUIX Studio生成的代码在硬件平台实际运行的工程,含有GCC,IAR,MDK AC5和AC6四个版本工程。

  •   V6-2020_GUIX Studio Chinese Font

GUIX Studio工程模板,设计界面后,生成的文件可直接添加到MDK,IAR和GCC软件平台使用。

实验目的:

  1. 本章主要学习GUIX的汉字显示(小字库方式)。

实验内容:

  1. 共创建了如下几个任务,通过按下按键K1可以通过串口打印任务堆栈使用情况

App Task Start任务  :启动任务,这里用作BSP驱动包处理。

App Task MspPro任务 :消息处理,这里用作LED闪烁。

App Task UserIF任务 :按键消息处理。

App Task GUI任务    :GUI应用任务。

App Task STAT任务   :统计任务。

App Task IDLE任务   :空闲任务。

GUIX System Thread  :GUI系统任务。

System Timer Thread任务:系统定时器任务。

实验效果:

GUIX Studio的界面设计如下:

串口打印任务执行情况:

IAR,MDK AC5和AC6工程可以串口打印任务执行情况:按开发板的按键K1可以打印,波特率 115200,数据位 8,奇偶校验位无,停止位 1:

Embedded Studio(GCC)平台的串口打印是通过其调试组件SEGGER RTT做的串口打印,速度也非常快,打印效果如下:

 

展示里面有乱码是因为Embedded Studio不支持中文。

18.6 总结

本章节主要为大家讲解了GUIX汉字显示的小字库方式,推荐大家设置不同的参数看效果,熟练掌握这些函数的用法。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于STM32的红外遥控设计用于控制空调的工作模式和温度设置。在设计中,我们基于STM32微控制器和红外发射与接收模块来实现遥控功能。 首先,我们需要利用STM32的GPIO端口连接红外发射与接收模块,以实现与空调的通信。通过编程设置GPIO端口的状态和功能,可以控制红外发射模块的工作和接收模块的接收。 其次,我们需要编程实现具体的空调控制功能。这包括发送指令控制空调的开关、模式、风速和温度等参数。我们可以通过编程设置红外发射模块发送对应的红外指令,以模拟空调遥控器的功能。同时,通过接收红外信号并解码,我们可以读取到空调当前的状态信息,如当前工作模式和温度设置。 在设计过程中,我们还需要将空调相关的功能与STM32的其他功能相结合,以实现更多的控制和扩展功能。例如,可以利用STM32的定时器模块来设定定时开关机功能,通过编程实现定时控制空调的开关。 此外,我们还可以结合其他传感器模块,如温湿度传感器模块,来实现空调自动调节功能。通过读取实时的温度和湿度数据,并结合STM32的控制逻辑,可以自动调节空调的工作模式和温度,实现更为智能和节能的控制。 总结来说,基于STM32的红外遥控设计可以实现对空调的远程控制和监测功能,具备灵活、可扩展和智能化的特点。在实际应用中,我们可以根据需求进行相应的定制和优化,以满足不同场景和需求的空调控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值