Zadnje čase sem se začel malce bolj ukvarjati s C-jem (popoln začetnik) oz. se ga predvsem dobro naučiti, pa se mi je ustavilo pri povečevanju delaya. Zaporedoma prižigam posamezne barve na RGB traku z določenim zamikom. Ta zamik pa želim z vsakim novim štetjem zanke povečati za n-krat oz. za n milisekund. Poskušal sem z novo funkcijo in for zanko pa nikakor ni šlo. Če dam break ali return, ostane delay na 100ms, če pa ne pa se zanka zvrti in imam 1 sekundo. Poskušal sem tudi s for zanko v main kodi, pa sem dobil enak rezultat. Ne razumem, kako bi ohranil prejšnjo vrednost delaya in ji prištel novo?
Ali ima for zanka v funkciji sploh učinek, da povečuje delay ali samo šteje in delay ostaja enak? Vrednosti v funkciji _delay_ms pa morajo na mojo žalost biti samo konstante.
Prosil bi za pomoč. Hvala!
Moja funkcija
- Koda: Izberi vse
void delay_cont ()
{ int f;
for(f=0; f<10; f++)
{
_delay_ms(100);
break;
}
}
- Koda: Izberi vse
for(i=0;i<11;i++)
{
PORTA =0;
//PORTA = 0xC0; // PA6/7
PORTA = 0x40;
delay_cont();
PORTA =0;
PORTA = 0x80;
delay_cont();
PORTA =0;
PORTB = 0x04;// PB2
delay_cont();
PORTB =0;
}
Nasvet: za preglednješe prikazano programsko kodo v prispevku uporabi funkcijo Code ("gumb" zraven bold, italic, Quote... v urejevalniku prispevka).
—moderator