avr中把大数据放入flash中的方法

发布者:740322lwj最新更新时间:2016-01-21 来源: eefocus关键字:avr  大数据  flash 手机看文章 扫描二维码
随时随地手机看文章
GCC中把大数组存入flash区的方法大全
 
                         AVRGCC中将变量定义在flash空间的方法(大数据存储)
 
 
  (1)flash常量:
 
        #include  //须增加的头文件
 
        const prog_uchar FlashConst = 3;        //定义uchar型的常量n定义在flash里(flash常量)
 
        unsigned char RamVar;                         //定义无符号整型变量(Ram变量)
 
        RamVar = pgm_read_byte(&FlashConst); //读取flash常量到ram变量
 
        
 
 (2)flash一维数据:
 
        #include  
 
        const prog_uchar  s[5] =  { 1, 2, 3, 4, 5 };
 
        unsigned char RamVar;                         //定义无符号整型变量(Ram变量)
 
        RamVar = pgm_read_byte( &s[1] );    //读取s[1]的值到RamVar, or  RamVar = pgm_read_byte( s+1 );   
 
        
 
(3)flash多维数据:
 
        #include  
 
        const prog_uchar  s[4][16] =  { {14, 4,13, 1, 2,15,11, 8, 3,10, 6,12, 5, 9, 0, 7 },
                                                     { 0,15, 7, 4,14, 2,13, 1,10, 6,12,11, 9, 5, 3, 8 },
                                                     { 4, 1,14, 8,13, 6, 2,11,15,12, 9, 7, 3,10, 5, 0 },
                                                     {15,12, 8, 2, 4, 9, 1, 7, 5,11, 3,14,10, 0, 6,13 }
                                                  };
 
        unsigned char RamVar[4],[16];                         //定义无符号整型变量(Ram变量)
 
        register char i, j;
 
        for(i=0; i<4; ++)
 
        {
 
                for(j=0; j<16; j++)
 
                {
 
                        RamVar[i][j]  = pgm_read_byte( &s[i][j] );    //读取数组s的值到RamVar
 
                }//end for 2
 
        }//end for 1
 
(4)扩展部分
 
        avr对ram和flash是独立编址的,ram是按8位编址,而flash却按16位编址,读ram和读flash的汇编指令也是不同的。
 
        类似flash数据类型还有:prog_void 、prog_char 、prog_int8_t、prog_uint8_t、prog_int16_t、prog_uint16_t、prog_int32_t、prog_uint32_t等。
 
    读取指令pgm_read_xxx宏定义其实就是一段包括了flash读取指令的内联汇编代码。函数原型为:pgm_read_byte(address_short)、pgm_read_word(address_short)、 pgm_read_dword(address_short)、pgm_read_float(address_short)。括号中是地址值。 
关键字:avr  大数据  flash 引用地址:avr中把大数据放入flash中的方法

上一篇:关于全局变量被修改以及volatile的用法
下一篇:硬件堆栈和软件堆栈在AVR中的理解

推荐阅读最新更新时间:2024-03-16 14:45

NAND Flash强势不坠 9月营收将再写新高
NAND Flash产业受到苹果(Apple)备货和智能型手机内嵌存储器的带动,32Gb容量的MLC型NAND Flash均价大涨至7.5美元,存储器模块厂9月营收在NAND Flash和DRAM芯片价格双双大涨的带动下,预计可再次创下新高,同时第3季获利也将雨露均沾;群联9月营收续创历史新高,创见也受惠欧洲市场买气回笼,9月预计可达新台币30亿~35亿元水平,威刚更在PC OEM的DRAM模块订单涌入下,9月营收预估可达35亿~40亿元,劲永9月营收也将维持高档不坠。 NAND Flash现货价和合约价双双上涨,主要是苹果新产品卖相极佳,罕见在9月还持续大力向NAND Flash大厂拉货,加上手机大厂纷纷备货高容量
[手机便携]
AVR模数转换程序
1. 开发语言 本范例使用 WinAVR/GCC 20050214 版本开发 2. 范例描述 本程序简单的示范了如何使用ATmega16的ADC模数转换器 普通的单端输入 差分输入及校准基准电压的校准 查询方式 中断方式 数据格式的变换 出于简化程序考虑,各种数据没有对外输出,学习时建议使用JTAG ICE硬件仿真器 3. 电路图设计 : 为简化线路设计,使用了本网站的ATmega16功能小板。 在范例中 选用内部2.56V电压基准作Vref ,差分通道 10倍放大 则 单端电压测量范围 02.56V, 分辨率2.5mV 差分电压测量范围 +/- 256mV 分辨率0.5mV 电流分辨率
[单片机]
<font color='red'>AVR</font>模数转换程序
中美医疗健康大数据分析报告:我们离健康生活还有多远?
    当智能手环和手表缠上我们的手腕,我们时刻都在产生健康数据并愿意让数据来指导我们的生活方式。另一方面,医疗信息电子化开始稳健,医疗数据可能变得和电商、体育、安防领域的数据一样可采集、集成。但具体到 医疗健康 数据本身,问题就来了。有些人开始纠结于数据量是不是够大,数据质量是不是够好。医疗健康大数据是峰瑞资本的重点投资方向。在这份报告里,峰瑞资本医疗组探讨了医疗健康大数据对我们、对未来意味着什么,医疗健康大数据发展的中美比较,以及我们该如何梳理这些数据并有效地利用它。    中美两地医疗健康大数据报告    如何多维度地审视健康?   人类对健康的诉求,早已从无病无痛演变为对大健康(包括,健康、养生、健身)
[医疗电子]
旺宏NOR Flash获ST采用 导入车用工业市场
旺宏接单报捷,旗下编码型快闪存储器( NOR Flash)获意法半导体(STM)新款微控制器采用,导入汽车、工业及消费电子等领域。 这是旺宏在美光和赛普拉斯二大厂淡出NOR Flash领域后,挟高品质的口碑,获欧系半导体大厂青睐,成为存储器采购主要对象。 旺宏表示,新开发的极速8位元I/O NOR Flash,操作频率达250MHz,数据传输速率达每秒500MB,可满足汽车、工业等对快速启动及即时反应需求。 此外,旺宏今年也卡位比特币市场,Flash产品打入挖矿机的供应链,此市场客户需要高容量的产品,目前全球只有旺宏以及其它2家厂商可以生产。 2017年旺宏在NOR型快闪存储器的市占率约30%,称霸全球市场。另外,
[半导体设计/制造]
医疗AI未来发展的四大趋势
近些年人工智能 井喷 ,全方位渗透到衣食住行各个方面,医疗行业也是如此, 人工智能+医疗 进入了快车道,2017年也被行业内称为 医疗人工智能发展元年 ,尤其是在超声读片、影像分析等易于建立标准的领域,机器人有着绝佳的工作效率与准确率。 市场研究公司CB Insights2018年发布的《顶尖医疗类人工智能趋势观察报告》,总结了全球人工智能医疗领域的现状。报告中指出,医疗已成为AI行业重要的研究和应用领域。2018年二季度,医疗领域AI公司的股权融资已经触及历史最高位。 智能医疗在江苏案例 在江苏,医疗AI也已经应用到实际临床一线中。2017年9月份,有 最强医学大脑 之称的人工智能 沃森 正式进入南京市第一医院肿瘤科,这也
[医疗电子]
使用带有双组闪存的MCU优点
  MCU(微控制器)在过去几十年里在CPU性能、通信接口、模数和数模外设、内存大小及读写次数等方面呈指数发展。我们专注于带有非易失性嵌入式存储器的MCU(我们在USB闪存驱动器、存储器等内拥有闪存),从首批带有一次性编程(OTP)的器件到EPROM(电可编程只读存储器),再到EEPROM (在方程中增加了“可擦”一词,能够在不需要紫外线灯的情况下擦除它),到现在的嵌入式闪存(在某些情况下称为Flash EEPROM),这是目前最常用的闪存。   EEPROM和Flash在概念上类似,两者都是可电擦除和写入的存储器,但是它们之间也存在某些差异。最初Flash只能在大数据块上写入,但是现在两者比较接近了,一个单字节、词或双词都可以写
[单片机]
使用带有双组闪存的MCU优点
基于AVR单片机的多通道温湿度传感器检定系统
随着地面自动气象站的投入业务使用,山东省的大监自动气象站和区域自动气象站已经建成1 500多个,使我省的业务水平大幅提高,随着业务量增加的同时,也给计量检定工作能力提出了新的要求。但近些年来温湿度传感器的检定很大程度上仍停留在人工检定阶段。这种检定方法耗时、检定效率低,因此迫切设计出一套自动检定温湿度传感器的系统,为了改善这种状况,在VC 6.0环境下使用MSComm通信控件和数据库技术,开发了自动站温湿度传感器数据采集及处理系统,实现8路温湿传感器的数据批量采集,用以提高温湿度传感器的检定效率和准确度。 1 系统的整体结构及功能描述 该设计以AVR单片机和高精度A/D转换芯片ADS1232为核心,能对温湿度传感器进行检定。
[单片机]
基于<font color='red'>AVR</font>单片机的多通道温湿度传感器检定系统
DSP+FLASH引导装载系统的设计与实现
  在一些脱机运行的DSP系统中,用户代码需要在加电后自动装载运行。DSP系统的引导装载(Bootload)是指在系统加电时,DSP将一段存储在外部的非易失性存储器的代码移植到内部的高速存储器单元中去执行。这样既利用了外部的存储单元扩展DSP本身有限的ROM资源,又充分发挥了DSP内部资源的效能。尽管用户代码在一段时间相对是固定的,但是如果直接将其掩膜到内部ROM中去的话,一方面受容量以及价格的限制,另一方面则在系统代码级上显得不是很灵活方便。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统的EPROM要低,十分适合于低功耗、小尺寸和高性能的便携式系统。除了可以采用专用的硬件编程器把代码灌入FLASH
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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