在Arduino中设置/清除数字的特定位
当您深入研究高级固件时,会处理许多寄存器,其特定位需要根据您的用例进行设置或清除。Arduino 有内置函数可以做到这一点。
语法
bitSet(x, index)
和,
bitClear(x, index)
其中 x 是需要设置/清除其位的数字,index 是位的位 置(0 表示最低有效位或最右边的位)。此函数就地更改数字 x,并返回 x 的更新值。
请注意,设置一位表示将其值设置为 1,清除一位表示将其值设置为 0。
示例
以下示例说明了这些函数的使用:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println();
int x = 6;
Serial.println(x);
bitSet(x,0);
Serial.println(x);
bitClear(x,2);
Serial.println(x);
bitClear(x,3);
Serial.println(x);
}
void loop() {
// put your main code here, to run repeatedly:
}输出
串口监视器输出如下所示:

如您所见,我们从数字 6 (0b0110) 开始。
然后我们设置其第 0 位,得到 (0b0111),对应于 7。
然后,我们清除其第 2 位,得到 (0b0011),对应于 3。
然后我们清除其第 3 位,该位已经为 0。因此,我们再次得到 (0b0011),对应于 3。
串口监视器输出按我们刚才描述的精确顺序显示这些数字。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP