不同编译器对flash的操作(Operation of flash by different compilers).docVIP

不同编译器对flash的操作(Operation of flash by different compilers).doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

您可能关注的文档

文档评论(0)

f8r9t5c + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档