- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
不同编译器对flash的操作(Operation of flash by different compilers)
不同编译器对flash的操作(Operation of flash by different compilers)
1。keil为MSC51
关键字代码
代码unsigned char数组[ 8 ] = { }
2。IAR for AVR(摘抄)
Flash常用类型的具体操作方泿/ P
2.1闪光区域数据存储?BR用关键字__flash控制来存放,__闪光关键字写在数据类型前后效果一栿BR __flash unsigned char a;//定义一个变量存放在闪光空间
unsigned char __flash一;/ /效果同上
__flash unsigned char p [ ];//定义一个数组存放在闪光空间
对于闪光空间的变量的读操作同SRAM数据空间的操作方法一样,编译器会自动甿BR LPM,ELPM指令来操作?BR例:
#include iom8。”
__flash unsigned char p [ ];
__flash unsigned char一;
空主(空)
{ PORTB = P [ 1 ];//读闪光数组变量的操使BR PORTB =一个;/ /读闪光变量的操使BR }
由于在正常的程序中,Flash空间是只读的,所以没有赋值的变量是没有意义的。定义常数在闪光空间,只要给变量赋与初值就可以了。由于常数在闪光空间的地址是随机分配的,读取变量才可以读取到常数值?BR BR iar-avr–C编译器简要指卿__flash unsigned char a = 9;//定义一个常数存放在闪光空间?BR __flash unsigned char p [ ] = { 1_______};
/ /定义一个组常数存放在闪光空间?BR例:
#include iom8。”
__flash unsigned char p [ ] = { 1,2,3,4,5,6,7,8 };
__flash unsigned char a = 9;
空主(空)
{
PORTB =一个;/ /读取闪光空间倿
PORTC = P [ 0 ];//读取闪光空间倿BR }
2.2闪光空间绝对地址定位_BR __flash unsigned char“0x8;/ /定义变量存放在闪光空间0x08单元__flash unsigned char p [ ] @ 0x22 /定义数组存放在闪光空间,开始地址丿X22单元
__flash unsigned char @ 0x08 = 9;//定义常数存放在闪光空间0x08单元
__flash unsigned char p [ ] @ 0x22 = { 1_______};
/ /定义一个组常数存放在EEPROM空间开始地址丿X22单元
由于常数在闪光空间的地址是已经分配的,读取闪光空间值可以用变量和地址?/ P
2.3丿__flash有关的指针操作?__flash关键字控制指针的存放和类型?BR指向闪光空间的SRAM指针(控制类型属性)
__flash unsigned char * p;/ /定义指向闪光空间地址的指针,8位?BR __flash unsigned int * p;/ /定义个指向闪光空间地址的指针,16位?BR __farflash unsigned int * p;/ /定义指向闪光空间地址的指针,24位?BR __hugeflash unsigned int * p;/ /定义指向闪光空间地址的指针,24位?BR __flash unsigned char * p;/ /定义一个指向闪光空间地址的指针,指针本身存放在SRAM中。P的值代表闪光空间的某一地址?P表示闪光空间该地址单元存放的内容。例:假定P = 10,表示闪光空间地址10单元,而闪光空间10单元的内容就甿P来读取?BR例:
#include iom8。”
焦__flash t @ 0x10;
焦__flash * P;
空主(空)
{
PORTB =×P;/ /读取闪光空间10单元的倿BR PORTB = *(P + 3_/读取闪光空间0x13单元的倿BR }
A pointer to the data stored in the flash space to flash space and br tin like storage as the data storage control is br__flash unsigned char Yi * p; / / define a pointer to a SARMM address space, the pointer itself is stored in flash /p?
The __flash definitions that control data
您可能关注的文档
- oracle数据库名实例等概念(Oracle database names, instances, and other concepts).doc
- oracle 静态历史数据的压缩分离(Compression and separation of Oracle static history data).doc
- oracle流复制(oracle流复制).doc
- oracle数据库基本概念(Basic concepts of Oracle Database).doc
- ospf路由器完全邻接关系的建立详细过程(The complete process of establishing the complete adjacency relation of OSPF routers).doc
- otc终端运作与保障(OTC terminal operation and protection).doc
- osip编译(oSIP编译).doc
- otdr主要技术指标(OTDR main technical indexes).doc
- o2o应该用b2c思维来运营(O2o should operate with B2C thinking).doc
- oem、odm、ems的区别(What's the difference between OEM, ODM, EMS).doc
- 不成熟心理的十种表现(Ten manifestations of immature mentality).doc
- 不成熟的六个特征(Six characteristics of immaturity).doc
- 不成熟表现(Immature expression).doc
- 不断扩展的生产与运作管理(Expanding production and operations management).doc
- 不用高薪,留住精英(Keep the elite without paying).doc
- 不能和你分手(can not break up with you).doc
- 不确定环境下的市场营销策略--访sharan jagpal教授(Marketing strategy in uncertain environment -- an interview with Professor Sharan Jagpal).doc
- 不要去碰这10种直销公司(Don't touch these 10 Direct Selling Company).doc
- 不要老看那谈情说爱的(Don't see the love).doc
- 不敌网聘 现场招管理聘冷了(Not to the net, hire the scene, recruit management, hire cold).doc
文档评论(0)