Stránka 2 z 2
Napsal: 16 dub 2014, 13:19
od FHonza
To, co je v příloze, sem právě teď vyzkoušel v AVR Studiu 6.1 přeložit. Bez chyb i varování. Je tam doplněno to, co jsem psal výš. Kdyby ti to případně nešlo, tak napiš jaké konkrétní chyby ti to při překladu hlásí.
Napsal: 16 dub 2014, 13:48
od bastlir40
Mockrát děkuju, vše proběhlo O.K. Jen mi zůstává stále sepnutý PB1. Předpokládám že když budu pomocí tlačítek nastavovat čas, tak i tím po každých 4 hodinách by se měli přepínat PB1 až PB3. Pokud tomu tak není tak budu muset počkat 4 hodiny

. Můžu Tě ještě poprosit, pokud to pro tebe není složité, upravit program jako zkušební aby se PB1 až PB3 přepínali např. po jedné minutě abych to mohl odzkoušet? Jinak mockrát děkuji za velkou pomoc a ochotu. Mirek
Napsal: 16 dub 2014, 14:07
od FHonza
Nevim jestli jsem v programu někde neudělal chybu, vyzkoušel jsem to jenom přeložit. Kontrola kdy přepnout PBx se provádí když minuty přechází z 59 na nulu.
Přesunutí na test při 59 sekundě v obsluze přerušení timeru:
Kód: Vybrat vše
ISR(TIMER1_OVF_vect)
{
if(++prescale == 255){prescale = 0;sec++;};
if(sec>59){min_1++;sec=0;
hour_4++;
switch(hour_4 & 0b1100)
{
case 0b0100:
PORTB = 0b11111011;
break;
case 0b1000:
PORTB = 0b11110111;
break;
case 0b1100:
PORTB = 0b11111101;
hour_4 = 0;
break;
}
};
if(min_1>9){min_1=0;min_10++;};
if(min_10>5) {min_10=0;hour_1++;};
if(hour_1>9){hour_1=0;hour_10++;};
if(hour_10>1 && hour_1>3){hour_1=0;hour_10=0;};