宏包含文件中使用的结构中的未知初始值设定项

问题描述

我在用于 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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...