标签: c gcc assembly avr
我希望能够在运行时确定内联asm函数的端口寄存器
asm(""::"I" (_SFR_IO_ADDR(PORTD)));
_SFR_IO_ADDR只接受常量
_SFR_IO_ADDR
我找到了这些选项但似乎无法从变量中传递寄存器。
asm(""::"m" (PORTD)); asm(""::"n" (&PORTD));
认为这是一个常见问题/请求,但似乎无法找到任何答案
答案 0 :(得分:0)
AVR IN指令仅支持立即端口号。您可能希望尝试使用内存映射访问(如果可用)。 - 杰斯特