问题描述
我在用于 AVR MCU 的包含文件中发现了一个未知的初始化程序(在我看来)。额外的一小组宏,我不明白。 有人可以向我解释一下结构中的初始化程序是什么以及宏是如何工作的吗?
// Access bits like variables
struct bits {
uint8_t b0:1,b1:1,b2:1,b3:1,b4:1,b5:1,b6:1,b7:1;
} __attribute__((__packed__));
#define SBIT_(port,pin) ((*(volatile struct bits*)&port).b##pin)
#define SBIT(x,y) SBIT_(x,y)
// MCU related Port deFinition
#define PORT_B0 SBIT( PORTB,0 )
#define MYPIN SBIT(PORT_B0)
// Usage in program
MYPIN = 1; // will set Pin PB0 to 1 ( high )
我只是可以使用这个不错的代码,但我想了解这里发生了什么。 非常感谢您的任何提示。非常感谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)