Kod: Markera allt
const uint8_t minlista[] = {0x01, 0x05, 0x02, 0x04, 0x03, 0x1F, 0x01};
Du får väl byta till en AVR med större minne senare, t.ex ATmega328, så ryms det en hel del.
Kod: Markera allt
const uint8_t minlista[] = {0x01, 0x05, 0x02, 0x04, 0x03, 0x1F, 0x01};
Där är felet (eller fel och fel men). _delay_ms() i AVR-libc är tänkt att användas med ett konstant argument, dvs en siffra, inte en variabel. Använder man en variabel blir dels fördröjningen fel samt ditt program blir större i onödan eftersom det kommer att länkas in stöd för flyttalsaritmetik (typ decimaltal) som du troligtvis inte behöver.dragon9226 skrev:Vad är felet?
_delay_ms(y);
Kod: Markera allt
void delay(uint8_t i)
{
while(i--)
_delay_ms(1);
}