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