avr gcc内联asm变量输入操作数

时间:2014-12-20 15:12:38

标签: c gcc assembly avr

我希望能够在运行时确定内联asm函数的端口寄存器

asm(""::"I" (_SFR_IO_ADDR(PORTD)));

_SFR_IO_ADDR只接受常量

我找到了这些选项但似乎无法从变量中传递寄存器。

asm(""::"m" (PORTD));
asm(""::"n" (&PORTD));

认为这是一个常见问题/请求,但似乎无法找到任何答案

1 个答案:

答案 0 :(得分:0)

AVR IN指令仅支持立即端口号。您可能希望尝试使用内存映射访问(如果可用)。 - 杰斯特

相关问题