我对ESP 32-IDF自动生成的代码有一个问题,在一个闪光灯的示例代码中,以下代码用于默认翻转引脚电平
static uint8_t led_state = 0;
...
led_state = !led_state; toggle the pin state
字符串
如何理解这里的“!”操作
我写了一个这样的小程序
#include <stdio.h>
#include <stdint.h>
int main(void)
{
uint8_t i = 2;
printf("i = %d\n", i);
i = !i;
printf("i toggled\n");
printf("i = %d\n", i);
i = !i;
printf("i toggled\n");
printf("i = %d\n", i);
return 0;
}
型
并且输出是
i = 2
i toggled
i = 0
i toggled
i = 1
型
1条答案
按热度按时间z31licg01#
!
是逻辑非运算符。0
(假值)。1
(一个真值)。C logical operators
如果需要设置特定位,可以使用移位。
字符串
如果要切换特定位,可以使用异或。
型