你知道 Knight-Rider 汽车的红灯吗?我正在用我的 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);
}
}