SERIJSKA KOMUNIKACIJA PCA I DASDUINA- SERIAL MONITOR

Mnogo je načina na koje možemo čitati s i pisati na Serial Port koristeći Arduinu, a ovdje ćemo pokazati najjednostavniji. Koristite ga kako biste izbjegli frustrirajuće načine 🙂
Dok smo se u prijašnjim tutorialima samo kratko osvrnuli na Serial Monitor, u ovome ćemo detaljno objasniti kako raditi s njim, bilo s Arduino IDE ili Atmel AVR Studiom. Generalno, Serial Monitor možete koristiti s bilokojim serijskim uređajem priključenim na računalo.
SERIAL MONITOR
Serial Monitor je dodatak Arduino IDE softwareu. Vrlo vjerovatno ste se susreli s njim ako ste radili neki Arduino projekt, npr. očitavali temperaturu s DHT senzora. Osim čitanja trenutnog stanja koda, omogućava slanje i primanje tekstualnih poruka te je kao takav vrlo praktičan u traženju greške u kodu(debuggiranju, kontroliranju Dasduina pomoću tipkovnice ili za pregled ispisa podataka. No krenimo redom…
Napomena: prije nego nastavite priključite Dasduino pločicu i odaberite Board i Port pod Tools tabom ArduinoIDE softwarea
Serial monitor pokrečemo klikom na ikonicu povećala ili kombinacijom tipki Ctrl+Shift+M.
Osnovne postavke:
COM Port – virtualni port preko kojeg želimo ostvarti serijsku komunikaciju između računala i Dasduino pločice
BAUD – jedinica broja pulseva po sekundi za UART komunikaciju
LINE ENDING: (detaljnije)
No line editing – šalje ono što je napisano
Newline – na napisano dodaje ASCII simbol za novu liniju (ekvivalentno s “\n”)
Carriage return – na napisano dodaje ASCII simbol za return (ekvivalentno s “\r”)
Both NL & CR – na napisano dodaje i Newline i Carriage return
DASDUINO NA SERIAL MONITOR
Serijsku komunikaciju započinjemo sa Serial.begin(); kojeg zadajemo u setup dijelu koda. Parametar koji dajemo funkciji je BAUD rate. On se mora podudarati s onim iz Serial Monitora kako u njemu ne bismo čitali “hijeroglife” koji se mogu dogoditi zbog neusklađenosti u brzini komunikacije.
SERIAL MONITOR NA DASDUINO
Naredbe za čitanje:
Serial.read() – čita prvi byte zadane varijable
int
sm_int = 0;
void
setup
() {
// zapocinjem serijsku komunikaciju
Serial.begin(9600);
// isti BAUD Rate postavljamo u Serial Monitoru
}
void
loop
() {
if
( Serial.available() ) {
sm_int = Serial.read();
Serial.println(sm_int, DEC);
}
}
Serial.readString() – čita zadanu varijablu te ju sprema u String