stm32实用篇3: 字符显示字库生成

发布者:科技革新者最新更新时间:2021-11-02 来源: eefocus关键字:stm32  字符显示 手机看文章 扫描二维码
随时随地手机看文章

在使用stm32显示文本时,首先要使用字模软件生成字库,如下:

这里,使用的是Consolas字体,点阵大小为16*16(汉字),此时英文字体的大小为8*16,宽度为汉字字体的一半,然后设置选项参数(包括阴码、逐行扫描、十六进制等),具体配置如下:

然后就可以生成字库,首先生成ASCII字库:

会生成两个文件,即字库 + 索引:

因为ASCII编码表的0 ~ 31是不可见字符,从32(空格)33(感叹号!)...开始才是文本字符,因此为了节省空间,直接删去前面多余不用的不可见字符,操作如下:


删除后:

然后利用PCtoLCD取模软件重新加载txt文件生成字库:

利用WinHex软件打开字库,来看一下数据,如果生成正确的话,第一个16字节(英文为16,中文为32)应该为空格,第二个为感叹号:

直接验证一下,这个生成的字符图案的正确性:


/* 生成的字模数据 */

uint8_t test_module[] = {

0x00,0x00,0x00,0x18,0x18,0x18,0x18,0x18,

0x18,0x08,0x00,0X08,0X18,0X00,0X00,0X00

};

 

 

void Display_char_test(void)

{

uint8_t i = 0, j = 0, k = 0;

/* 字模数据有16行 */

for (i = 0; i < 16; i++)

{

/* 每行16列,2字节 */

for (j = 0; j < 1; j++)

{

/* 每个字节8位 */

for (k = 0; k < 8; k++)

{

/* 对每个数据字节从高位到低位进行遍历 */

if ((test_module[i * 1 + j] & (0X80 >> (k))) != 0)

{

printf("*");

}

else

{

printf(" ");

}

}

}

printf("n");

}

}


串口打印结果如下:

这和取模软件的图案一致:

接下来,生成中文GB2312 宋体 的字库:

同样的,看一下生成的字库数据:

同理,根据生成的数据,尝试打印“顿号”:

至此,字库数据生成完毕。

关键字:stm32  字符显示 引用地址:stm32实用篇3: 字符显示字库生成

上一篇:stm32实用篇2: 裸机系统实现多任务轮转
下一篇:stm32实用篇4: stm32数据类型长度

推荐阅读最新更新时间:2024-11-02 10:55

STM32 DMA 学习笔记(二)
一、常用DMA库函数 1.DMA初始化(包括通道和参数配置) void DMA_Init(DMA_Channel_TypeDef* DMAy_Channelx, DMA_InitTypeDef* DMA_InitStruct); 下面就是结构体参数 typedef struct { uint32_t DMA_PeripheralBaseAddr; //外设基地址 uint32_t DMA_MemoryBaseAddr; //存储器基地址 uint32_t DMA_DIR; //数据传输方向 uint32_t DMA_BufferSize; //通道传输数据量 uint32_t DMA_Peripheral
[单片机]
STM32 USB学习笔记1
主机环境:Windows 7 SP1 开发环境:MDK5.14 目标板:STM32F103C8T6 开发库:STM32F1Cube库和STM32_USB_Device_Library 之前在STM32论坛里领取过一块STM32开发板,本来以为是带有USB模块接口的,最后发现NUCLEO里是没有把USB模块外接出来的,所以就自个儿掏钱买了一块单板,如下图所示: 单板很简单,单纯是为了学习一下STM32的USB模块,之所以选择这个是因为它便宜,而且ST官方有提供USB模块库方便开发。 USB开发博大精深,比之串口,SPI,I2C来说多了很多东西,一个很简单的例子就是串口,SPI,I2C都可以使用通用IO口来模
[单片机]
<font color='red'>STM32</font> USB学习笔记1
STM32_SPI主从通信
今天讲解“STM32F103 SPI主从通信”,原本计划将这部分内容定在后面(第二阶段)来讲解,满足一位网友的问题“关于两块MCU的SPI通讯”,所以今天特地提前讲解了。 由于昨天讲解的是“SPI读写Flash”,MCU是作为SPI通信中的主机,今天主要讲解SPI通信的从机,我将我测试的主机和从机的代码分别打包供大家下载测试。 今天提供并讲解的软件工程,基于昨天的软件工程“SPI读写Flash”修改而来。若有疑问,请关注微信公众号“EmbeddDeveloper”获取更多信息。 本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注和推广一下微信公众号,增加一下人气。 每天提供下载的“软件工程”都是在硬件板子上进
[单片机]
STM32_SPI主从通信
STM32芯片时钟配置
对STM32进行软件开发时,最基本的就是对STM32芯片进行时钟和端口配置,然后是对项目所用到的片上资源进行配置并驱动,下面给出时钟和端口配置代码,该代码几乎涵盖了片上所有时钟和端口配置项目,可根据自己需要进行删除不必要的配置项: /******************************************************************************* * Function Name : RCC_Configuration 复位时钟控制配置 * Description : Configures the different system clocks. * Input : None * Outp
[单片机]
STM32控制MPU6050
1.硬件连接 实验采用正点原子公司的 AN1507 ATK-MPU6050 六轴传感器模块 MPU6050 STM32 VCC --- VCC GND --- GND SDA --- PB9 SCL --- PB8 INT --- 不接 AD0 --- 不接 2. 重要寄存器 2.1 电源管理寄存器 1 DEVICE_RESET 位用来控制复位,设置为 1,复位 MPU6050,复位结束后, MPU 硬件自动清零该位 SLEEEP 位用于控制 MPU6050 的工作模式,复位后,该位为 1,即进 入了睡眠模式(低功耗),所以我们要清零该位
[单片机]
<font color='red'>STM32</font>控制MPU6050
STM32应用案例 基于STM32F103ZE开发的数码相册
1.硬件平台 CPU:STM32F103ZE 屏幕:3.5寸TFTLCD屏 触控:电阻式触摸屏xpt2046 SD卡、外扩Sram 2.示例效果 SD卡检测和图片搜索 图片加载与显示 3.软件设计 3.1 遍历目录   遍历目录,搜索所有的bmp格式图片,以链表方式保存图片名,方便接下来图片切换。 typedef struct FILE_info { char file_name ; u16 number;//保存第几张图片 struct FILE_info *next; struct FILE_info *pre; }FILE_INFO; FILE_INFO *bmp_head=NULL; /*创
[单片机]
<font color='red'>STM32</font>应用案例 基于STM32F103ZE开发的数码相册
STM32的Systick系统滴答定时器
Systick :系统心跳定时器,提供系统节拍 裸机程序中可作为独立的延时定时器 用途: 1.产生操作系统的时钟节拍 2.便于不同处理器之间程序移植 SysTick定时器被捆绑在NVIC中,异常号15 3.作为一个闹铃测量时间用于测量时间, 但当处理器在调试期间被喊停(halt)时,则SysTick定时器亦将暂停运作 它有四个寄存器 STK_CSR, 0xE000E010 -- 控制寄存器 STK_LOAD, 0xE000E014 -- 重载寄存器 STK_VAL, 0xE000E018 -- 当前值寄存器 STK_CALRB, 0xE000E01C -- 校准值寄存器 stm32的时钟源 选择外部时钟源时
[单片机]
<font color='red'>STM32</font>的Systick系统滴答定时器
STM32中断使用笔记
1.GPIO 的正确设置 GPIO_InitTypeDef GPIO_InitStructure; /* Enable GPIOD clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); /* Configure PD.03, PC.04, as input floating */ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 ; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOD, &GPI
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved