RA8889/RA8876显示自定义汉字字符方法

2024-04-03 14:28

本文主要是介绍RA8889/RA8876显示自定义汉字字符方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文介绍用户自己生成的汉字字库如何通过RA8889/RA8876显示到液晶屏上。

实例效果图:

在这里插入图片描述
汉字字库通过第三方软件生成,点阵是从右到右排列,左高位排法,网上有许多软件可用,这边就不再列举。

汉字表如下,可根据需求量生成,而不是全部几千上万个汉字,这种方法占用的空间比较小,汉字表是存放在MCU的FLASH中的:

// ------------------  汉字字模的数据结构定义 ------------------------ //
typedef struct                 // 汉字字模数据结构
{signed char Index[2];              // 汉字内码索引char Msk[72];                      // 点阵码数据
}typFNT_GB24;/
// 汉字字模表                                                          //
// Font:宋体24,,横向取模左高位,数据排列:从左到右从上到下               //
/
typFNT_GB24 code_GB_24[] =        // 数据表
{
"苏", 0x00,0x00,0x00,0x00,0x82,0x00,0x00,0x83,0x00,0x00,0x83,0x08,0x7F,0xFF,0xFC,0x00,0x83,0x00,0x00,0x83,0x00,0x00,0xB3,0x00,0x00,0x30,0x00,0x00,0x30,0x00,0x1F,0xFF,0xE0,0x00,0x20,0xC0,0x00,0x20,0xC0,0x00,0x20,0xC0,0x08,0x60,0x98,0x08,0x40,0x8C,0x18,0x40,0x8C,0x30,0x80,0x84,0x01,0x80,0x80,0x01,0x01,0x80,0x06,0x1D,0x80,0x08,0x07,0x00,0x10,0x00,0x00,0x00,0x00,0x00,"州", 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x03,0x00,0x18,0x03,0x04,0x10,0x02,0x04,0x10,0x02,0x04,0x10,0x02,0x04,0x10,0x02,0x04,0x10,0x02,0x45,0x10,0x12,0x44,0x90,0x12,0x24,0xD0,0x32,0x24,0xD0,0x32,0x24,0x10,0x02,0x04,0x10,0x02,0x04,0x10,0x06,0x04,0x10,0x04,0x04,0x10,0x04,0x04,0x10,0x08,0x04,0x10,0x08,0x04,0x10,0x10,0x00,0x10,0x20,0x00,0x18,0x40,0x00,0x00
}; 
程序流程图:

字库表只是点阵,有笔画的点为1,没有笔画的点为0,8个点为一个字节,通过RA8889/RA8876的图形加速功能,将每位延展出一个RGB像素点:
在这里插入图片描述

演示代码:
int main(void)
{/* System Clocks Configuration */RCC_Configuration(); delay_init(72);  GPIO_Configuration();	//NVIC_Configuration();	//SPI_Peripheral_Init();/* Enable the FSMC Clock */RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE);delay_ms(1);FSMC_LCD_Init_H();	/*RA8889初始化*/RA8889_Initial();/*清屏,填充黑色0x0*/BTE_Solid_Fill(0,canvas_image_width,0,0,0x0,LCD_Width,LCD_Height);/*MCU写入GB2312汉字 功能例程测试*/User_Font_Init(0,canvas_image_width,0,color65k_white,color65k_blue);Show_User_Font_32(code_GB_32,200,100,"苏州菱致电子有限公司");User_Font_Init(0,canvas_image_width,1,color65k_green,color65k_blue);Show_User_Font_24(code_GB_24,320,150,"瑞佑科技");User_Font_Init(0,canvas_image_width,1,color65k_yellow,color65k_blue);Show_User_Font_16(code_GB_16,280,200,"提供专业的液晶显示方案");while(1);
}

RA8889/RA8876系列芯片是具有图形加速功能的,这种方法显示汉字的速度很快!同时可指定汉字的前景色和背景色。

延伸应用:

这种方法可以做各种单色的ICON,可以指定颜色,非常灵活!

下载链接:

点击下载源代码

这篇关于RA8889/RA8876显示自定义汉字字符方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/873158

相关文章

Springboot控制反转与Bean对象的方法

《Springboot控制反转与Bean对象的方法》文章介绍了SpringBoot中的控制反转(IoC)概念,描述了IoC容器如何管理Bean的生命周期和依赖关系,它详细讲解了Bean的注册过程,包括... 目录1 控制反转1.1 什么是控制反转1.2 SpringBoot中的控制反转2 Ioc容器对Bea

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespace id不一致处理

《mysql8.0无备份通过idb文件恢复数据的方法、idb文件修复和tablespaceid不一致处理》文章描述了公司服务器断电后数据库故障的过程,作者通过查看错误日志、重新初始化数据目录、恢复备... 周末突然接到一位一年多没联系的妹妹打来电话,“刘哥,快来救救我”,我脑海瞬间冒出妙瓦底,电信火苲马扁.

SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)

《SpringBoot使用Jasypt对YML文件配置内容加密的方法(数据库密码加密)》本文介绍了如何在SpringBoot项目中使用Jasypt对application.yml文件中的敏感信息(如数... 目录SpringBoot使用Jasypt对YML文件配置内容进行加密(例:数据库密码加密)前言一、J

Spring Boot 中正确地在异步线程中使用 HttpServletRequest的方法

《SpringBoot中正确地在异步线程中使用HttpServletRequest的方法》文章讨论了在SpringBoot中如何在异步线程中正确使用HttpServletRequest的问题,... 目录前言一、问题的来源:为什么异步线程中无法访问 HttpServletRequest?1. 请求上下文与线

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

SpringBoot快速接入OpenAI大模型的方法(JDK8)

《SpringBoot快速接入OpenAI大模型的方法(JDK8)》本文介绍了如何使用AI4J快速接入OpenAI大模型,并展示了如何实现流式与非流式的输出,以及对函数调用的使用,AI4J支持JDK8... 目录使用AI4J快速接入OpenAI大模型介绍AI4J-github快速使用创建SpringBoot

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

C# string转unicode字符的实现

《C#string转unicode字符的实现》本文主要介绍了C#string转unicode字符的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随... 目录1. 获取字符串中每个字符的 Unicode 值示例代码:输出:2. 将 Unicode 值格式化