历史上的今天
返回首页

历史上的今天

今天是:2025年07月13日(星期日)

正在发生

2019年07月13日 | AVRWARE++开发笔记11:将数组存于ROM中

2019-07-13 来源:eefocus

    本日志介绍在AtmelStudio中,将数组存于ROM中的方法。


    如果我们不加任何附加声明定义数组或其它变量,在AtmelStudio中(实际上不仅是AtmelStudio,其它GCC采用同样的处理方法),数组或变量是定义在RAM中的。但是单片机中的RAM的容量是比较小的,如果我们有较大的数据(例如数组)需要存储,我们就需要把其定义在ROM中。在Keil、IAR等软件中,都有专门的关键字用于对这些变量和数组进行定义。在这里,我们将介绍AtmelStudio中的定义方法。


    在AtmelStudio中,希望把数组或变量定义在ROM中,需包含pgmspace.h头文件,具体的程序写法如下:

#include   


    然后在程序中定义数据类型,程序如下。这段程序实际上是在pgmspace.h头文件中定义的,但其有条件编译的限制,还需仔细看懂其条件编译的使用条件,要不就自己定义就好了。

typedef unsigned char PROGMEM prog_uchar;


    有了prog_uchar数据类型,我们就可以声明数组了,声明程序如下。数组中的内容将存于ROM中。

const prog_uchar Zk_ASCII8X16[]={} 


    最后,就是调用方法,其程序如下。我们要用pgm_read_byte函数进行调用。

ywbuf[j]=pgm_read_byte(&Zk_ASCII8X16[ulOffset+j]); 


    就这么多内容,学会后,就可以将数据存于ROM中了。


推荐阅读

史海拾趣

Delphi Connection Systems公司的发展小趣事

面对日益激烈的市场竞争和客户需求的变化,Delphi Connection Systems公司积极推进数字化转型。公司引入先进的生产管理系统和智能化设备,实现了生产过程的自动化和智能化。这不仅提高了生产效率和质量稳定性,也降低了生产成本和人力需求。数字化转型使公司更加灵活和高效地应对市场变化,为未来的发展奠定了坚实基础。

喜美克斯(Cvilux)公司的发展小趣事

喜美克斯公司深知人才是企业发展的核心动力。因此,他们高度重视人才的引进和培养。公司建立了一套完善的人才选拔和培养机制,通过内部培训、外部引进等多种方式,不断为公司注入新鲜血液。同时,公司还为员工提供广阔的职业发展空间和优厚的福利待遇,激发了员工的工作热情和创造力。这些举措为喜美克斯公司的长期发展提供了坚实的人才保障。

Gespac Inc公司的发展小趣事

喜美克斯公司深知人才是企业发展的核心动力。因此,他们高度重视人才的引进和培养。公司建立了一套完善的人才选拔和培养机制,通过内部培训、外部引进等多种方式,不断为公司注入新鲜血液。同时,公司还为员工提供广阔的职业发展空间和优厚的福利待遇,激发了员工的工作热情和创造力。这些举措为喜美克斯公司的长期发展提供了坚实的人才保障。

Akustica(Bosch)公司的发展小趣事

喜美克斯公司深知人才是企业发展的核心动力。因此,他们高度重视人才的引进和培养。公司建立了一套完善的人才选拔和培养机制,通过内部培训、外部引进等多种方式,不断为公司注入新鲜血液。同时,公司还为员工提供广阔的职业发展空间和优厚的福利待遇,激发了员工的工作热情和创造力。这些举措为喜美克斯公司的长期发展提供了坚实的人才保障。

Electronic Sensor + Resistor GmbH公司的发展小趣事

随着全球对环保和可持续发展的日益关注,ESR公司积极响应国家政策和市场趋势,致力于实现绿色生产和发展。公司引进先进的环保设备和技术,减少生产过程中的废弃物和污染排放;同时加强资源回收利用和节能减排工作,降低生产成本和能耗。

此外,ESR公司还积极参与环保公益活动和社会责任项目,为推动电子行业的绿色发展和可持续发展贡献自己的力量。这种对环保的关注和投入不仅提升了公司的社会形象也增强了公司的竞争力和可持续发展能力。

Chemi-Con公司的发展小趣事

随着电子行业的快速发展,Chemi-Con公司不断加大对研发的投入,致力于技术创新和产品升级。公司研发团队在铝电解电容器的基础上,不断推出性能更优、体积更小、寿命更长的产品,满足了市场对于高效、可靠电容器的迫切需求。此外,Chemi-Con还积极拓展产品线,涉足了多层陶瓷电容器、薄膜电容器等多个领域,为客户提供更加丰富的选择。

问答坊 | AI 解惑

DSP控制异步电机直接转矩低速能做到多少

异步电机直接转矩 控制 低速能做到多少?…

查看全部问答>

请教BSP中未定义中断 IRQ_SSP 有关问题...

    CPU是PXA270 ,我的BSP中 只是定义了 IRQ_SSP 这个标识, OEMInterruptHandler 相关地方没看到 IRQ_SSP有关的初始化和使能函数, 如果我要使用 IRQ_SSP 这个中断, 要做如何工作? 谢谢指导~…

查看全部问答>

关于短信猫TC35无法注册网络的问题?

大家好:     我使用西门子TC35模块短信猫用超级终端连接显示已经连接(AT返回OK), 执行(AT+CREG?返回0,3)网络注册拒绝的意思,我换过3张卡均是此问题, 但可以读出手机卡上的短信。 请问用过此设备的同志们如何能注册到网 ...…

查看全部问答>

谁能给我个数摸转换的示例程序给我呢?

如题,我因为要做毕业设计,没有接触过这方面的设计,所以想有个示例作为参考 谢谢了哈…

查看全部问答>

Platform Builder 5.0:请教高人,键盘消息

我的image做好,下载到目标板,为啥一旦焦点在输入框,就自动弹出软键盘,不停的显示输入3,哪位大虾遇到过,请指教。谢谢…

查看全部问答>

建议SOSO搞个短信模块的团购,有兴趣的跟帖

建议SOSO搞个短信模块的团购,有兴趣的跟帖,短信模块是智能家居的一部分,实际用途也很多,可以先定一个型号,然后联系团购…

查看全部问答>

Protel99 SE 拼板的详细图解

很多网友跟我沟通,提到我上次博文中的protel99se中做拼板图解过于简略,应大家的有求,重新修改了操作图示。 首先打开PCB文档。如图所示:电路板的原点并没有在边上,为了操作方便和规范,先把有点设置到板框的边上。 操作如下现在下方的 ...…

查看全部问答>

安防电商发展路遭“坎坷” 企业应如何解决

今年7月初,国内首家专业安防电子商务公司深圳宇通的电商平台“安防人商城”小范围的启动了招商,在一个月左右时间成功招入几十家安防品牌成为其首期合作供应商。据了解,目前电子商城平台进入最后测试阶段,其官方也宣布将于8月19日正式上线,安防 ...…

查看全部问答>

I/O口的第二功能

P7SEL=0X03; P7口的7.0、7.1置位,选择外围模块功能,XIN,XOUT; 与外部晶振XT1的有什么关系列???…

查看全部问答>

使用XMEGA C系列单片机的SPI时IF一直不置位

大家好,小弟在使用XMEGA C系列单片机的SPI时,STATUS寄存器中的IF一直不置位(SPI工作在主模式),串行传输一直未完成,导致下面代码中的while循环一直出不来。 通过调试,工作模式、片选信号都没问题。 不知道有什么原因会导致SPI STATUS寄存 ...…

查看全部问答>