gpt4 book ai didi

c++ - Arduino 端口 Bitschft

转载 作者:行者123 更新时间:2023-11-30 17:47:51 25 4
gpt4 key购买 nike

你知道骑士车的红灯跳动吗?我正在用我的 Arduino 构建类似的东西。我有一个带有 7 个 LED 的 Arduino Uno。

我遇到的问题是位移。当我的程序运行时,我告诉它为引脚供电:

PORTD = 0b00000001;

稍稍延迟后,我必须将电源切换到另一个引脚。所以它必须是这样的:

PORTD = 0b00000010;

可以通过位移位来存档。我想过类似的事情,但它不起作用:

PORTD = PORTD << 1;

如何解决我遇到的问题?

这是我现在的代码,我必须添加位移:

#include <avr/io.h>
#include <util/delay.h>

int main()
{
UCSR0B = 0;
DDRD = 0b11111111;

for(;;)
{
PORTD = 0b10000000;
_delay_ms(200);
}
}

最佳答案

假设您要打开 PORTD 的第 n 位.

PORTD |= (1<<n);

位从右到左编号为 0、1、2 等。

要关闭第四位,你会这样做

PORTD &= ~(1<<4);

关于c++ - Arduino 端口 Bitschft,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18790880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com