저점 도와주삼 ㅠㅠ
#define F_cpu 6000000
#include <avr/io.h>
#include <avr/interrupt.h>
volatile unsigned int sec=0;
ISR(TIMER0_OVF_vect){
if(sec>=100){
sec=0;
}
else{
sec++;
}
}
int main(void)
{
DDRE = 12;
TIMSK=_BV(TOIE0);
TCNT0 = 0x00;
TCCR0 = _BV(CS02) | _BV(CS01);
PORTC = 0xff;
PORTE = 12;
sei();
int i=1;
for(;;)
{
if(sec <= 10)
{
if(i<=(sec/10) && i<=8)
{
PORTC = ~(_BV(i-1));
PORTE = 0x0c;
}
else
if(i<=(sec/40) && i>8)
{
PORTC = 0xff;
PORTE = ~(_BV(i-7));
}
else
{
i++;
}
}
else
{
if(i<=((sec/4)/6) && i>8)
{
PORTC = 0xff;
PORTE = ~(_BV(i-7));
}
else if(i<=((sec/4)/6) && i<=8)
{
PORTC = ~(_BV(i-1));
PORTE = 0x0c;
}
else
{
i--;
}
}
}
return 0;
}
왼쪽에서 오른쪽으로 led판을 한칸씩 이동하고
오른쪽에서 왼쪽으로 lde판을 한칸씩 이동하는 과제인데요.
어디가 잘못되어있는지 좀 알려주세요 ㅠㅠ
counter함수만 이용하라고해서 다른함수는 안되요 ㅠㅠ 도와주세요 ㅠ