正点原子探索者开发板自定义汉字显示取模方式及底层函数

本文主要是介绍正点原子探索者开发板自定义汉字显示取模方式及底层函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里写图片描述

汉字显示底层驱动函数

//在LCD上的(x,y)处画点
//color:点的颜色
void LCD_Draw_Point(u16 x,u16 y,u16 color)
{u16 temp;temp=POINT_COLOR;POINT_COLOR=color;LCD_DrawPoint(x,y);POINT_COLOR=temp;
}
//在指定位置 显示1个16*16的汉字
//(x,y):汉字显示的位置
//index:tfont数组里面的第几个汉字
//color:这个汉字的颜色
void Test_Show_CH_Font16(u16 x,u16 y,u8 index,u16 color)
{                   u8 temp,t,t1;u16 y0=y;                  for(t=0;t<32;t++)//每个16*16的汉字点阵 有32个字节{   if(t<16)temp=tfont16[index*2][t];      //前16个字节else temp=tfont16[index*2+1][t-16];    //后16个字节                           for(t1=0;t1<8;t1++){if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点else LCD_Draw_Point(x,y,BACK_COLOR);   //画空白点(使用背景色)temp<<=1;y++;if((y-y0)==16){y=y0;x++;break;}}    }          
}
//在指定位置 显示1个24*24的汉字
//(x,y):汉字显示的位置
//index:tfont数组里面的第几个汉字
//color:这个汉字的颜色
void Test_Show_CH_Font24(u16 x,u16 y,u8 index,u16 color)
{                   u8 temp,t,t1;u16 y0=y;                  for(t=0;t<72;t++)//每个24*24的汉字点阵 有72个字节{   if(t<24)temp=tfont24[index*3][t];           //前24个字节else if(t<48)temp=tfont24[index*3+1][t-24]; //中24个字节                              else temp=tfont24[index*3+2][t-48];         //后24个字节for(t1=0;t1<8;t1++){if(temp&0x80)LCD_Draw_Point(x,y,color);//画实心点else LCD_Draw_Point(x,y,BACK_COLOR);   //画空白点(使用背景色)temp<<=1;y++;if((y-y0)==24){y=y0;x++;break;}}    }          
}
//测试2个汉字显示函数
void TEST_FONT(void)
{u8 t;u8 x,x1;x=x1=50;for(t=0;t<7;t++)//6个汉字{Test_Show_CH_Font16(x ,50,t,RED);Test_Show_CH_Font24(x1,70,t,RED);x+=16;x1+=24;}
}

这篇关于正点原子探索者开发板自定义汉字显示取模方式及底层函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java 的ArrayList集合底层实现与最佳实践

《Java的ArrayList集合底层实现与最佳实践》本文主要介绍了Java的ArrayList集合类的核心概念、底层实现、关键成员变量、初始化机制、容量演变、扩容机制、性能分析、核心方法源码解析、... 目录1. 核心概念与底层实现1.1 ArrayList 的本质1.1.1 底层数据结构JDK 1.7

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java AOP面向切面编程的概念和实现方式

《JavaAOP面向切面编程的概念和实现方式》AOP是面向切面编程,通过动态代理将横切关注点(如日志、事务)与核心业务逻辑分离,提升代码复用性和可维护性,本文给大家介绍JavaAOP面向切面编程的概... 目录一、AOP 是什么?二、AOP 的核心概念与实现方式核心概念实现方式三、Spring AOP 的关

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

Linux挂载linux/Windows共享目录实现方式

《Linux挂载linux/Windows共享目录实现方式》:本文主要介绍Linux挂载linux/Windows共享目录实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录文件共享协议linux环境作为服务端(NFS)在服务器端安装 NFS创建要共享的目录修改 NFS 配

Vue3视频播放组件 vue3-video-play使用方式

《Vue3视频播放组件vue3-video-play使用方式》vue3-video-play是Vue3的视频播放组件,基于原生video标签开发,支持MP4和HLS流,提供全局/局部引入方式,可监听... 目录一、安装二、全局引入三、局部引入四、基本使用五、事件监听六、播放 HLS 流七、更多功能总结在 v

Python中isinstance()函数原理解释及详细用法示例

《Python中isinstance()函数原理解释及详细用法示例》isinstance()是Python内置的一个非常有用的函数,用于检查一个对象是否属于指定的类型或类型元组中的某一个类型,它是Py... 目录python中isinstance()函数原理解释及详细用法指南一、isinstance()函数

python中的高阶函数示例详解

《python中的高阶函数示例详解》在Python中,高阶函数是指接受函数作为参数或返回函数作为结果的函数,下面:本文主要介绍python中高阶函数的相关资料,文中通过代码介绍的非常详细,需要的朋... 目录1.定义2.map函数3.filter函数4.reduce函数5.sorted函数6.自定义高阶函数

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

Python中的sort方法、sorted函数与lambda表达式及用法详解

《Python中的sort方法、sorted函数与lambda表达式及用法详解》文章对比了Python中list.sort()与sorted()函数的区别,指出sort()原地排序返回None,sor... 目录1. sort()方法1.1 sort()方法1.2 基本语法和参数A. reverse参数B.