c语言 将结构体放在flash,如何将 结构体 的 数据 定义在flash里面,并如何读出来,求各位达人帮助……...
如题,本人不太熟悉GCC,特别是定义在flash和eeprom的数据,所以在做液晶的字库时遇到问题,讲解下思路:用查表的方式,定义一个结构体来装载字符的内码和字符数据。程序如下:
/*******************************************字库定义******************************/
// ------------------ 汉字字模的数据结构定义 ------------------------ //
struct typFNT_GB32 // 汉字字模数据结构
{
unsigned char Index[3]; // 汉字内码索引
unsigned char Msk[128]; // 点阵码数据
};
/
// 汉字字模表 //
// 汉字库: 宋体32.dot,横向取模左高位,数据排列:从左到右从上到下 //
/
struct typFNT_GB32 codeGB_32[] PROGMEM={ // 数据表
/*-- 文字: 彩 --*/
/*-- 宋体22; 此字体下对应的点阵为:宽x高=30x29 --*/
/*-- 宽度不是8的倍数,现调整为:宽度x高度=32x29 --*/
{{"彩"},{0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x1F,0xC0,0xC0,0x03,0xFF,0xC1,0xE0,
0x3F,0xE0,0x03,0xE0,0x00,0xE3,0xC7,0xC0,0x18,0xF3,0xCF,0x00,0x1E,0x7B,0x9E,0x00,
0x0F,0x7F,0x3C,0x00,0x07,0x37,0xF0,0x00,0x07,0x6E,0xC0,0x60,0x02,0x7C,0x00,0xF0,
0x00,0x70,0x81,0xF0,0x3F,0xFF,0xC3,0xC0,0x3F,0xFF,0xEF,0x80,0x01,0xF0,0x1E,0x00,
0x01,0xF8,0x78,0x00,0x03,0xFC,0xF0,0x70,0x03,0xFF,0x80,0xF8,0x07,0xF7,0x81,0xF8,
0x07,0x77,0x83,0xE0,0x0E,0x73,0x87,0xC0,0x1C,0x71,0x8F,0x00,0x38,0x70,0x3E,0x00,
0x30,0x70,0xF8,0x00,0x60,0x73,0xE0,0x00,0x00,0x7F,0x80,0x00,0x00,0x7C,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}},
};
/******************************读取字库送显***************************************/
void PutGB3232(unsigned short x, unsigned short y, unsigned char c[2], unsigned int fColor,unsigned int bColor,uint8 b_en)
{
unsigned int i,j,k;
LCD_SetPos(x, x+32-1,y, y+32-1);
for (k=0;k<50;k++) { //15标示自建汉字库中的个数,循环查询内码
if ((pgm_read_byte(codeGB_32[k].Index[0])==c[0])&&(pgm_read_byte(codeGB_32[k].Index[1])==c[1])){
for(i=0;i<128;i++) {
unsigned short m=pgm_read_byte(codeGB_32[k].Msk);
for(j=0;j<8;j++) {
if((m&0x80)==0x80) {
Write_Data_U16(fColor);
}
else if(b_en) {
Write_Data_U16(bColor);
}
m<<=1;
}
}
}
}
}
我试着把数据定义在内存里面,就是把 PROGMEM 和 pgm_read_byte 去掉,液晶能正常的显示汉字,
但是当我把字库定义在flash里面的时候,就读不出数据了,我知道问题出现在结构体的定义和数据的读取那里,但是我不知道怎么改,求各位帮帮忙解决下好吗,小弟万分感激!!!
c语言 将结构体放在flash,如何将 结构体 的 数据 定义在flash里面,并如何读出来,求各位达人帮助……...相关推荐
- c语言 将结构体放在flash,stm32的内部flash读写操作(含结构体的保存)
不同的stm32单片机的flash大小不同,这个需要查阅芯片手册或者查看STM32CubeMX软件. stm32的flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实 ...
- c语言shengchen图像,430编程C语言常识(IAR)(二)结构体与联合体
回复: 107 430编程C语言常识(IAR)(二)结构体与联合体 (288035412) 出0入0汤圆 电梯直达 发表于 2012-4-7 18:36:29 | 只看该作者 |倒序浏览 |阅读模式 ...
- c++ 结构体赋值_《零基础看得懂的C语言入门教程》—(十二)结构体是这么回事
一.学习目标 了解C语言的结构体的使用方法 了解C语言结构体的结构的赋值 了解多种C语言结构体变量的赋值方法和取值方法 目录 <零基础看得懂的C语言入门教程>--(二)简单带你了解流程 & ...
- 【C 语言】文件操作 ( 读取文件中的结构体数组 | feof 函数使用注意事项 )
文章目录 一.读取文件中的结构体数组 | feof 函数使用注意事项 二.代码示例 一.读取文件中的结构体数组 | feof 函数使用注意事项 读取文件结构体时 , 可以循环读取文件中的数据 , 只使 ...
- C语言一维数组、二维数组、结构体的初始化
C语言数组的初始化表示方法 一.C语言一维数组初始化: (1)在定义数组时对数组元素赋以初值.如: static int a[10]={0,1,2,3,4,5,6,7,8,9}; 经过上面的定义和初始 ...
- c语言结构体与共同体课件,《结构体与共同体》PPT课件.ppt
<<结构体与共同体>PPT课件.ppt>由会员分享,可在线阅读,更多相关<<结构体与共同体>PPT课件.ppt(44页珍藏版)>请在装配图网上搜索. 1 ...
- 【精华文】C语言结构体特殊情况分析:结构体指针 / 基本数据类型指针,指向其他结构体
参考链接:Structure pointer pointing to different structure instance 注:可以查看此篇的问题和唯一的回复,那是相对正确的,不要看comment ...
- c语言 结构体声明和引用、,结构体的声明与自引用
今天上了数据结构课程的第一堂课,经常会看到下面这种语法:结构体有个成员变量是指向该结构体的指针,也就是自引用(self reference).翻看了下一章节内容,才知道这是链表的结构基础.平时C语言用 ...
- 明解C语言入门篇_第12章_结构体
前言 本文为业余学习<明解C语言入门篇>的记录,包含代码清单和练习题. 开始学习时间:2022年8月21日 +++++++++++++++++++++++++++++++ 第1章 初识C语 ...
最新文章
- RDKit | 多肽HELM字符串格式与分子Mol格式间的转换
- 你在过度测试你的软件吗?
- ip netns 命令使用
- 【数据处理】python变量分箱常见手法:分类型、数值型、卡方、自定义
- MySQL数据库的优化
- mongodb连接失败_MongoDB 基础入门
- 网络工程师历年试题解析(PDF文字版)2004-2009
- datatable某一行第N列为空的时候删除某一行
- 编译安装mysql gmake,编译安装mysql
- 前端开发:颜色代码速查表【英文颜色、HEX格式、RGB格式】
- 大型稀疏矩阵计算的现代方法介绍
- 软件公司团队管理方法思考
- oracle异常策略,oracle segmentation fault错误
- 医院招聘护士 计算机证,医院招聘护士面试自我介绍
- thinkPHP6验证码接口
- MyBatis报Invalid bound statement (not found)错误
- Html和css的class和id的命名,[HTML] CSS Id 和 Class选择器
- Echarts仪表盘刻度线和标签配置
- 存储主控芯片亚洲新势力崛起
- 【CSS】行高、边框、外边距、内边距
热门文章
- # 异运算_小学数学运算三要点:定律、法则与顺序(解析)
- tcp协议的主要功能是什么_前端要知道的网络知识一:TCP/IP 协议到底在讲什么...
- easyexcel 无模板写入_关于EasyExcel 的一些生成模板,导入导出的使用心得(优化版)...
- Python对Protobuf进行序列化与反序列化
- Linux 字符设备驱动结构(二)—— 自动创建设备节点
- Python 爬虫进阶一之爬虫框架概述
- Java跳出多重循环
- 前端面试题node.js汇总
- Taro+react开发(86):资源文件处理
- 前端学习(3306):函数组件usermemo和usercallback二