我希望能够在运行时确定内联asm函数的端口寄存器
asm(""::"I" (_SFR_IO_ADDR(PORTD)));
_SFR_IO_ADDR
只接受常量
我找到了这些选项,但似乎无法从变量传递寄存器。
asm(""::"m" (PORTD)); asm(""::"n" (&PORTD));
认为这将是一个常见的问题/请求,但似乎无法找到任何答案
AVR IN指令仅支持立即端口号。 您可能希望尝试使用内存映射访问(如果可用)。 – 杰斯特
以上就是c/c++开发分享avr gcc内联asm变量输入操作数相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/522887.html