电子工程师技术服务社区
公告
登录
|
注册
首页
技术问答
厂商活动
正点原子
板卡试用
资源库
下载
文章
社区首页
问答
STM32怎么实现读取字库解码
已解决
73482
个问题
已帮助
5993
位优秀工程师
STM32怎么实现读取字库解码
jiming
2020-03-25
浏览量:1105
STM32怎么实现读取字库解码
显示全部
关注问题
写回答
0
0
收起
我来回答
上传资料:
选择文件
文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
bigCQ
STM32要实现读取字库解码,首先要获取当前字符的编码,然后再根据字符编码去对应的字库里面找到对应的字库数据,获取偏移地址,实现对字库的数据读取,再把读取的数据进行输出
发布于
2020-04-09
举报
评论 0
0
0
其他答案
数量:
5
chen0000009
首先要将一个字库下载到它的flash里面,然后每次需要进行字库对应码的读取时,只需要读取相对那块flash开头地址一个偏移量的数据即可
发布于
2020-03-25
举报
评论 0
0
0
LoveMyDog
typedef struct _tFont
{
const uint16_t *table;
uint16_t Width;
uint16_t Height;
} sFONT;
extern sFONT Font8x8;
extern sFONT Font8x12_bold;
extern sFONT Font8x12;
extern sFONT Font12x12;
extern sFONT Font16x24;
#define GL_Font8x8 Font8x8
#define GL_Font8x12_bold Font8x12_bold
#define GL_Font8x12 Font8x12
#define GL_Font12x12 Font12x12
#define GL_Font16x24 Font16x24
在fonts.c中
const uint16_t ASCII16x24_Table []={………………}; //字模
sFONT Font16x24 = {
ASCII16x24_Table
16
24
};
sFONT Font12x12 = {
ASCII12x12_Table
12
12
};
sFONT Font8x12 = {
ASCII8x12_Table
8
12
};
sFONT Font8x12_bold ={
ASCII8x12_bold_Table
8
12
};
sFONT Font8x8 = {
ASCII8x8_Table
8
8
};
在main.c中调用:
#include "user_config.h"
uint8_t test1[]="你见,或者不见我,我就在那里,不悲不喜;";
uint8_t test2[]="你念,或者不念我,我就在那里,不来不去;";
uint8_t test3[]="你爱,或者不爱我,爱就在那里,不增不减;";
uint8_t test4[]="你跟,或者不跟我,我的手就在你手里,";
uint8_t test5[]="不舍 不弃.";
uint8_t test6[]="默然 相爱";
uint8_t test7[]="寂静 喜欢";
int main(void)
{
u8 ijk;
NVIC_Config();
SysTick_Init();
STM_EVAL_LEDInit(LED1);
STM_EVAL_LEDInit(LED2);
STM_EVAL_LEDInit(LED3);
STM_EVAL_LEDInit(LED4);
USART_Config( COM1115200);
STM3210E_LCD_Init();
LCD_Clear(LCD_COLOR_MAGENTA);
LCD_SetColors(LCD_COLOR_REDLCD_COLOR_CYAN);
LCD_DisplayStringLine(LCD_LINE_0 (uint8_t *)MESSAGE1);
LCD_DisplayStringLine(LCD_LINE_1 (uint8_t *)MESSAGE2);
LCD_DisplayStringLine(LCD_LINE_2 (uint8_t *)MESSAGE3);
LCD_DisplayStringLine(LCD_LINE_3 (uint8_t *)MESSAGE4);
printf("nr %s" MESSAGE1);
printf(" %s" MESSAGE2);
printf(" %snr" MESSAGE3);
LCD_Clear(LCD_COLOR_BLUE);
GL_Clear(GL_Grey);
GL_SetTextColor(GL_Blue);
GL_SetBackColor(GL_Yellow);
GL_SetFont(GL_FONT_GB2312);
LCD_ClearLine(LINE(0)); // disp yellow line
LCD_ClearLine(LINE(9));
GL_DisplayAdjStringLine(0220(uint8_t*)"Loading..."GL_FALSE);
GL_DisplayAdjStringLine(LINE(2)310test1GL_TRUE); //如果横屏,Y轴递减
GL_DisplayAdjStringLine(LINE(3)310test2GL_TRUE);
GL_DisplayAdjStringLine(LINE(4)310test3GL_TRUE);
GL_DisplayAdjStringLine(LINE(5)310test4GL_TRUE);
GL_DisplayAdjStringLine(LINE(6)310test5GL_TRUE);
GL_DisplayAdjStringLine(LINE(7)310test6GL_TRUE);
GL_DisplayAdjStringLine(LINE(8)310test7GL_TRUE);
GL_DisplayAdjStringLine(LINE(9)130"蔡志威"GL_TRUE);
GL_SetFont(GL_FONT_SMALL);
//SetFont(GL_Font8x12_bold);
GL_DisplayAdjStringLine(22080" 2013-10-08"GL_TRUE);
while (1)
{
}
}
map文件:
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
9944 738 293276 360 1080 0 Grand Totals
9944 738 293276 224 1080 0 ELF Image Totals (compressed)
9944 738 293276 224 0 0 ROM Totals
==============================================================================
Total RO Size (Code + RO Data) 303220 ( 296.11kB)
Total RW Size (RW Data + ZI Data) 1440 ( 1.41kB)
Total ROM Size (Code + RO Data + RW Data) 303444 ( 296.33kB)
==============================================================================
发布于
2020-03-25
举报
评论 0
0
0
LoveMyDog
首先主要是有字库,可以放flash也可以放SD卡每个汉字都有一个内码,占两个字节,通过汉字内码的高低字节,通过公式32*((High8bit-0xa0-1)*94+(Low8bit-0xa0-1))来找到该汉字在字库中的偏移位置,然后读取32个字节,也就是该汉字的点阵数据。字体是16*16=256。256/8=32字节。
发布于
2020-03-25
举报
评论 0
0
0
9b9812880b5e91fc
字库可以先生成放在flash 里面。然后后面直接索引就可以了。
发布于
2020-03-25
举报
评论 0
0
0
xdsnet
字库就是结构化的数据,通过某个字的字符(其实就是一个编码),根据这个字符编码就去查字库中对应数据,大致就是
数据的头地址为=基地址+字符编码*每字偏移量
取值长度=每字偏移量
发布于
2020-03-25
举报
评论 0
0
0
相关问题
问题达人
换一批
文章
知识经验换现金
换一批
STM32怎么实现读取字库解码
写回答
关注问题
×
我要举报该内容,理由是:
内容质量差:
内容太水、伸手党
垃圾广告信息:
广告、招聘、推广、测试内容等
偏离问答主题:
与技术无关、讨论类
与社区已有内容重复:
违规内容:
色情、暴力、血腥、敏感信息等
不友善内容:
人事攻击、挑衅辱骂、恶意行为
以上选项都不是: