AVR [为什么IO寄存器具有IO地址和SRAM地址]

时间:2015-04-17 16:25:43

标签: avr

我正在检查ATMEGA16数据表,在第17页我发现有IO寄存器碰巧有" IO地址和SRAM地址" ,

我不知道我们使用哪种以及为什么IO有两种寻址方式?

我需要知道它是否是SRAM的一部分,请赐教我^^

Page 17 Data address space

1 个答案:

答案 0 :(得分:0)

您可以使用普通/通用内存操作码(通过使用SRAM地址)来处理寄存器,或者您可以使用更快的io操作码访问某些寄存器,这也可以让您更快地进行位级访问。在后一种情况下,您必须使用IO地址。

通常您希望使用IO地址和操作码。但SRAM-Adresses使您能够将寄存器目标作为数据指针传递给函数。

通常你的C-Compiler会为你管理这个,你永远不必考虑它。