Я пытаюсь создать программу для мигания светодиода на каждом бите платы разработки для PORTA, используя смену. Когда я симулирую программу, вместо сдвига между битами 0-7 выводится 0x01, 0x02, ox04, 0x10. Тогда это начинается снова. Есть ли какая-то причина, по которой я не могу полностью перейти через этот 8-битный регистр? Любая помощь будет оценена.
#define F_CPU 1000000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRA = 0xFF;
while (1)
{
PORTA = 0x01;
_delay_ms(1000);
for (int count = 0; count < 7; count++)
{
PORTA = 1<<PORTA;
_delay_ms(1000);
}
}
}