Mis on ''tõusuäär'' (ingl. Rising Edge)?
Mikrokontrolleril on sisendid diskreetse digitaalsignaali puhul väärtusega 0 või 1. Sisend võib igas tsüklis muutuda ja tõusuäär on täpselt see tsükkel, milllest eelnevalt oli väärtus 0 ja selles tsüklis on 1, ehk täpne hetk kui null on läinud üle üheks.
Selleks, et võrrelda nüüdset väärtust eelmise tsükliga peab olema eelmise tsükli väärtus muutujana salvestatud ja säilima võrreldavuse jaoks tsüklite üleselt, globaalse muutujana. Globaalne muutuja peab olema defineeritud enne void loop() algust.
int eelmiseTsukliOlek; void loop(){ // siin loeme pordi uue oleku i1 muutjasse if (i1 ==1 && eelmiseTsukliOlek == 0){ print("Tuvastasime tõusuääre"); } // salvestame mälumuutujasse eelmiseTsukliOlek = i1; }// loop tsükli lõpp
teegi kasutamisel saad kasutada lihtsalt, teegi tasandil juba võrdluse tulemust if (r1 == 1){ print("Tuvastasime tõusuääre"); }
| ||
Miks on portide käsitsemine ja tõusuäärte võrdlus teegi tasandil oluliselt lihtsam
| |||||||||||||||
Pinge (V) ^ | i1 == 1 5V | -------------------------> | | | | | | <-- TÕSUÄÄR (Rising Edge) | | Siin hetkel r1 = 1 | | | i1 == 0 | 0V +-----------------------' ---> Aeg 0 Aeg/tsüklid |
Monteeri lihtsalt ja kiiresti
Riistvara montaa¾ on jaotatud etappideks ja toetatud õppevideodega. Vaata lähemalt.
Tarkvaratugi
Loe riistvaralist portide lugemist ja muutujate defineerimist toetava tarkvarateegi kohta
