Witam,
mam problem z ww. funkcją, ustawiłem fusebity na wewnętrzne 8Mhz i tak samo zadeklarowałem to w programie:
Jednak wtedy następuje małe przekłamanie - dioda nie zapala się co sekundę, tylko co 1/4 sekundy, jeżeli ustawię delay na 4000 ms, to wtedy zapala się co sekundę, lub kiedy zmienię F_CPU na 32Mhz. Z czego może wynikać ten błąd?
mam problem z ww. funkcją, ustawiłem fusebity na wewnętrzne 8Mhz i tak samo zadeklarowałem to w programie:
#include <avr/io.h>
#include <inttypes.h>
#define F_CPU 8000000UL
#include <util/delay.h>
int main()
{
DDRB = 0xFF;
int i;
while(1)
{
for(i=0;i<8;i++)
{
//zapalenie tylko i-tej diody (od lewej)
PORTB = ~_BV(i);
//co sekunde
_delay_ms(1000);
}
}
return 0;
}
Jednak wtedy następuje małe przekłamanie - dioda nie zapala się co sekundę, tylko co 1/4 sekundy, jeżeli ustawię delay na 4000 ms, to wtedy zapala się co sekundę, lub kiedy zmienię F_CPU na 32Mhz. Z czego może wynikać ten błąd?