9. Keskeytys (ulkoiset, pinnimuutos, UART/SPI/EEPROM), (sisäiset, timer, ADC)
- https://www.arduino.cc/en/Reference/AttachInterrupt
- https://www.sparkfun.com/tutorials/326
- https://www.youtube.com/watch?v=BUubcDvvOPo
Tehtävät
- Keskeytys_INT0 -> Testaa ohjelman toiminta lisäämällä keskeytystuloon (int0) jokin komponentti/laite, joka tuottaa keskeytyksiä. Lisää ohjelmaan laskuri, joka laskee keskeytysten määrän ja raportoi siitä sarjamonitorille.
- Keskeytys_Timer -> muuta Timer0 ja Timer2 keskeytystaajuuksia mahdollisimman pieneksi. Laske uudet keskeytystaajuudet. Testaa ja tarkista mittaamalla.
- Keskeytys_ADC -> muuta näytteenottotaajuutta n. 8kHz:ksi. Syötä ADC:hen signaali funktiogeneraattorista (1kHz) ja mittaa PortD:n kytketyn ulkopuolisen DAC:n lähtöä oskilloskoopilla.
- Suunnittele ja toteuta ohjelma, jossa käytetään monipuolisesti tällä kurssilla esiteltyjä rakenteita sekä tulo- ja lähtöportteja. Ohjelman tulee olla laajuudeltaan aikaisempia harjoituksia monipuolisempi.
- Dokumentoi edellisen tehtävän projekti: vuokaavio, hyvin kommentoitu ja jäsennelty koodi, käyttöohje loppukäyttäjälle, yhteenveto/pohdinta.