Kod: Markera allt
#include <avr/io.h>
#include <avr/delay.h>
#include <inttypes.h>
int main()
{
uint16_t i, j; // Deklarerar variablerna i och j som 16-bitarstal
DDRB = _BV(PB0) | _BV(PB1) | _BV(PB2); //gör PB0 PB1 PB2 till utgångar
while (1)
{
PORTB |= _BV(PB0); //gör PB0 hög
PORTB &= ~_BV(PB1); // gör PB1 låg(varför?) För att vi bara vill visa en färg åt gången. Är båda höga så blir det väl en blandning av två färger.
for (i=0;i<2;i++) //Loopar koden mellan { och } 2 gånger
{
for (j=0;j<1000;j++) // Kör _delay_loop_2() 1000 gånger
_delay_loop_2(1000);//pausar
PORTB ^= _BV(PB0); //gör PB0 låg
}
PORTB &= ~_BV(PB0); //gör PB0 låg
PORTB |= _BV(PB1); //gör PB1 hög
for (i=0;i<2;i++) //??
{
for (j=0;j<1000;j++) //??
_delay_loop_2(1000);
PORTB ^= _BV(PB1); //gör PBlåg
}
}
return 1;
}
{
kod
}
betyder:
1. Starta med i=0
2. Kör koden mellan { och } om i < 1000 . Annars gå till steg 5.
3. Kör i++. Det samma som i = i + 1
4. Gå tillbaka till steg 2
5. Klar
Koden mellan { och } kommer alltså i det här fallet köras 1000 gånger. Om man bara har ett kommando mellan { och } så kan man skippa { och } om man vill.
Tycker att du ska låna valfri bok om C (eller C++) på biblioteket. På så vis lär du dig C från grunden. Det kommer du tjäna mest på.