Hej, mam taki problem, że ucze się języka C w poradnika Pana Teodora Otulaka, niestety dioda zamiast zapalać się i gasnąć co 1s zapala się i gasi co około 5s...
Zmieniałem fusebity na zewnętrzny kwarc (lfuse: 0xEC, hfuse: 0x99), więc mógłby mi ktos powiedzieć co tu jeszcze schrzaniłem? (Wątpię, żeby to miało coś wspólnego ale dodam, że na PC mam zainstalowanego Debiana)
#include <avr/io.h>
// trzebabyło zdefiniować bo to juz nie jest obsługiwane
#define sbi(add,bit) add |= _BV(bit);
#define cbi(add,bit) add &= ~_BV(bit);
#define F_CPU 4000000L
#define CYCLES_PER_US ((F_CPU+500000)/1000000)
#define LED_ON sbi(DDRB,PB1);sbi(PORTB,PB1)
#define LED_OFF sbi(DDRB,PB1);cbi(PORTB,PB1)
void delay(unsigned int us)
{
unsigned int delay_loops;
register unsigned int i;
delay_loops = (us+3)/5*CYCLES_PER_US; // +3 for rounding up (dirty)
for (i=0; i < delay_loops; i++) {};
}
void delayms(unsigned int ms)
{
unsigned int i;
for (i=0;i<ms;i++)
{
delay(999);
asm volatile (
"WDR"::);
}
}
int main (void)
{
for (;;)
{
LED_ON;
delayms(1000);
LED_OFF;
delayms(1000);
}
return (0);
}