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
Tõusuääre muutujana saad enda loogika jaoks kasutada nii muutujat r seerias koos sisendi numbrig, näiteks r1, r2 kuni r9. Teegi tasandil toimuvad esmased võrdlused massiivina, muutujad r on nende aliasteks, siis on võimalik kasutada ka massiivipõhiseid muutujaid r[1], r[2] kuni r[9], need on eriti käepärased kui on vaja lugeda tõusuääri tsüklite sees.
|
Langev äär Sarnaselt on võimalus kasutada ka langeva ääre (ingl. "Falling Edge") muutujat, see on tähistatud tähega f, kasuta esimese sisendi puhul näiteks f1 või massiivipõhist formaati f[1], mida saad kasutada ka tsüklites. Pinge (V) ^ | 5V |-------------------------. <-- i1 == 1 (Nivoo on kõrge) | | | | | | <-- LANGEV ÄÄR (Falling Edge) | | Siin hetkel f1 = 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
