Using millis() instead of delay

millis() function returns the number of milliseconds the current sketch has been running since the last reset. millis() returns an unsigned long.

AVR vs Arduino funktsioonid

pinMode() Arduino funktsiooni pinMode() abil seatakse siin (pin) kas sisendiks või väljundiks: pinMode(6, INPUT); AVR c-keeles: DDRD &= ~(1 << 6); DDR – tähendab Data Direction Registrit. Ja kuna Arduino (Atmega328) digital pin 6 kuulub regitrise Port D siis DDRD. Näiteks Arduino digtal pin 12 kuulub registrisse Port B ja siis oleks DDRB. Et siin (pin) oleks […]

AVR: Katkestused

Interrupts Arduino UNO mikrokontrolleril Atmega 328 (ja 168) on kahte tüüpi katkestusi: Välised (external). Kaks tükki: INT0 (pin 2) ja INT1 (pin 3). Riistvaralised ja väga kiired. RISING, FALLING, LOW, HIGH Viigu muutus (pin change) kuni 20 tk. RISING, FALLING Atmega328 katkestused, täidetavuse järjekorras: Internal names (which you can use to set up ISR callbacks) […]

AVR Registrid

Refister on nagu nuppude paneel. Nupp on, kas sisse lülitatud (1) või väljalülitatud (0). Kuna AVR on 8-bitine mikrokontroller, on ka enamik registreid 8-bitised. Mõned regidtrid on 16-bitised, mis tegelikult koosnevad kahes 8-bitisest registrist. Mõnes registris pole kõik 8 bitti kasutatud. Sel juhul tähistatakse biti lahter sidekriipsuga. Väikse n-tähega tähistatakse registri nimes registri mooduli indeksit. […]

AVR: märkmeid

Andmetüübid (data types) Arduino MIN MAX BITTE Baite int8_t char -128 127 8 1 uint8_t unsigned char, byte 0 255 8 1 int16_t short -32768 32767 16 2 uint16_t unsigned short 0 65535 16 2 int32_t long -2147483648 2147483647 32 4 uint32_t unsigned long, double (Atmega) 0 4294967295 32 4 int64_t long long −9,223,372,036,854,775,808 9,223,372,036,854,775,807 […]

AVR: Binaartehted

Inglise keeles: Bitwise Logical Operators Registrisse binaarväärtuse kirjutamine: PORTB = 0b01100001; Registri lugemine muutujasse: unsigned char reg = PORTB; Üksikute bittide muutmiseks registris (arvus jne) kasutatakse binaartehteid. Binaartehe on tehe binaararvude vahel, kus nende arvude iga biti vahel toimub omaette loogikatehe. Binaararvude ette kirjutatakse 0b ja heksatestimaalarvud 0x. Binaararve kirjutatakse paremalt vasakule. Näiteks: 1 == 0b0001, […]