Differences
This shows you the differences between two versions of the page.
hu:arduino:serial_conv [2019/11/28 20:47] |
hu:arduino:serial_conv [2022/04/21 15:02] () |
||
---|---|---|---|
1: | 1: | ||
+ | ====== Serial írása, ovasása, konverziók ====== | ||
+ | Az UNO, NANO és MINI board-okon egy-egy, a MEGA-n négy serial kommunikációs lehetőség található. A board-ok közötti legeygszerűbb kommunikációs megoldást a serial kínálja, hiszen egyszerűen keresztbe kell kötni ezeket a portokat (Tx - Rx, Rx - Tx), és már mrhet is a kommunikáció: | ||
+ | {{: | ||
+ | |||
+ | Az olyan board-okon, ahol csak egy serial csatorna van (UNO, NANO, MINI), ezt a kommunikációt letöltés előtt le kell kötni, mivel a PC-board kommunikáció is ezt a csatornát használja. \\ A serial UART kommunikáció, | ||
+ | |||
+ | ===== Mérés küldése ===== | ||
+ | |||
+ | A mérés küldéséhez a numerikus változót először érdemes átkonvertálni char_array-be, | ||
+ | <code c> | ||
+ | char str[4]; | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | int value=1234; | ||
+ | | ||
+ | itoa(value, str, 10); // char_array-ba átkonvertálva | ||
+ | Serial.write(str, | ||
+ | } | ||
+ | </ | ||
+ | A konverziókhoz segítséget adhat a [[hu: | ||
+ | |||
+ | ===== Telegramm fogadása ===== | ||
+ | A lenti program MEGA-ra íródott, egyidejűleg több serial-t is használ. | ||
+ | <code c> | ||
+ | |||
+ | void setup() { | ||
+ | Serial.begin(9600); | ||
+ | Serial1.begin(9600); | ||
+ | } | ||
+ | |||
+ | void loop() { | ||
+ | // főprogram | ||
+ | |||
+ | delay(100); | ||
+ | } | ||
+ | |||
+ | void serialEvent1() { // a funkció meghívásra kerül, ha valami érkezik a serial1-en (a másik Arduino-tól) | ||
+ | |||
+ | int i; | ||
+ | char data[20]; | ||
+ | delay(10); | ||
+ | i = Serial1.available(); | ||
+ | Serial.print(" | ||
+ | Serial.println(i); | ||
+ | Serial1.readBytes(data, | ||
+ | Serial.print(" | ||
+ | Serial.println(data); | ||
+ | | ||
+ | String eredmeny(data); | ||
+ | Serial.print(" | ||
+ | Serial.println(eredmeny); | ||
+ | } | ||
+ | </ |