IAR for AVR 学习笔记(5)--SRAM操作

本文介绍了在IAR for AVR中如何进行SRAM操作,重点讲解了AVR单片机的SRAM变量存储模式,包括tiny、small、large三种类型,并阐述了如何使用__tiny、__near、__far关键字来更改存储属性。同时,讨论了编译器对局部变量的处理以及如何定义外部变量,特别是volatile关键字的作用,它确保变量从原始位置读取,保证了数据的一致性。
摘要由CSDN通过智能技术生成
 

SARM数据类型的具体操作方法

SARM空间是AVR单片机最重要的部分,所有的操作必须依赖该部分来完成。变量在SARM空间的存储模式有tiny ,small large 三种,也就是对应于__tiny, __near __far三中存储属性。一旦选择为哪种存储模式,对应的数据默认属性也就确定了,但可以采用__tiny, __near __far关键字来更改。
对于程序中的局部变量,编译器会自动处理的,我们也不可能加什么储存属性,但IAR提供了强大的外部变量定义。

5.1.定义变量在工作寄存器
IAR编译器内部使用了部分工作寄存器,留给用户的只有R4-R15供12个寄存器供用户使用,要使用工作寄存器必须在工程选项里打开锁定选项。
例:
定义两个变量使用工作寄存器R14,R15。
#i nclude<iom8.h>
__regvar __no_init char g @ 15;
__regvar __no_init char P @ 14;
void main(void)
{
g++;
P++;
}
在工程选项里c/c++ complier>code里打开要使用的寄存器R14-R15。
 
 
编译结果就如下,看看是不是直接使用了寄存器做为数据应用
//
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值