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

相关文章

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at