| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| et:arduino:software [2017/05/26 09:44] – kaupo.raid | et:arduino:software [2020/07/20 09:00] (current) – external edit 127.0.0.1 |
|---|
| {{:et:arduino:ide_nupud.png?350|}} | {{:et:arduino:ide_nupud.png?350|}} |
| |
| Arduino programmerimiskeskkonnaga on kaasas C/C++ teek Wiring, mis muudab paljud tavalised sisend-väljundoperatsioonid palju lihtsamaks. Arduino programmid on kirjutatud C/C++ keeles, kuid kasutajad peavad töötava programmi jaoks defineerima minimaalselt kaks funktsiooni: | Arduino programmeerimiskeskkonnaga on kaasas C/C++ teek Wiring, mis muudab paljud tavalised sisend-väljundoperatsioonid palju lihtsamaks. Arduino programmid on kirjutatud C/C++ keeles, kuid kasutajad peavad töötava programmi jaoks defineerima minimaalselt kaks funktsiooni: |
| |
| * **//setup//** – funktsioon, mis töötab korra programmi alguses ning seadistab mikrokontrolleri algparameetrid ja algväärtustab kasutatavad funktsioonid | * **//setup//** – funktsioon, mis töötab korra programmi alguses ning seadistab mikrokontrolleri algparameetrid ja algväärtustab kasutatavad funktsioonid |
| |
| ja seejärel //loop// funktsioonis soovitud kohas käsk andmete jadaporti saatmiseks, et neid saaks läbi jadapordi monitori kuvada arvutiekraanile. | ja seejärel //loop// funktsioonis soovitud kohas käsk andmete jadaporti saatmiseks, et neid saaks läbi jadapordi monitori kuvada arvutiekraanile. |
| |
| Näiteks : | |
| |
| <code c> | <code c> |
| | |
| Serial.print("Kaugus: "); // Teksti saatmine jadaporti | Serial.print("Kaugus: "); // Teksti saatmine jadaporti |
| Serial.println(kaugus); // Muutuja lisamine koos reavahetusega | Serial.println(kaugus); // Muutuja saatmine koos reavahetusega |
| } | } |
| </code> | </code> |
| | |
| | Lisaks on võimalik ka mikrokontrollerile saata andmeid jadapordi monitori kaudu. Selleks tuleb eelenvalt programmi koodi lisada kontrolllause, mida tuleb läbida võimalikult tihti, et andmeid ei läheks kaduma. Selle lause abil kontrollitakse saabunud baitide ehk tähemärkide arvu. Kui see arv on suurem kui 0, siis on saabunud uut infot, mis automaatselt salvestatakse puhvermällu. Baidi lugemisel puhvermälust, kustutatakse see sealt jäädavalt ja saabunud baitide arv väheneb ka ühe võrra. Puhvermälust saab andmeid lugeda kuni saabunud baitide arv on 0. |
| | |
| | <code c> |
| | void loop() { |
| | char saabunudAndmed; |
| | //Kontrollime jooksvalt saabunud baitide arvu |
| | if (Serial.available() > 0){ |
| | delay(50); //Väike viide, et kõik baidid jõuaks kohale |
| | Serial.print("\n Sain: "); |
| | //Teavitame saabunud andmetest saates need tagasi jadapordi monitori |
| | while(Serial.available() > 0){ |
| | saabunudAndmed = Serial.read(); //Loeme puhvermälust baidi muutujasse |
| | Serial.print(saabunudAndmed); //Saadame baidi tagasi jadaporti |
| | } |
| | } |
| | } |
| | </code> |
| | |
| {{ :et:arduino:loop.png?30|}} | {{ :et:arduino:loop.png?30|}} |
| Kui programm on laetud kontrollerisse ja see seal käima läinud, siis saab avada jadapordi monitori kiirklahviga CTRL+Shift+M, //tools// rippmenüüst või vajutades tööriistariba paremal servas luubi nuppu. | Kui programm on laetud kontrollerisse ja see seal käima läinud, siis saab avada jadapordi monitori kiirklahviga CTRL+Shift+M, //tools// rippmenüüst või vajutades tööriistariba paremal servas luubi nuppu. |