Belajar Arduino - Conversi String - Baut rate parity
Hari ini saya mencoba komunikasi menggunakan atmega168 dengan baut rate 2400,7even1
program ini bertujuan mengolah data serial komunikasi dengan memotong dua huruf pertama digantikan dengan "S" kemudian sisanya 12 character diambil untuk dikirim kembali ke serial portnya.
ini source yang digunakan untuk arduino
/*
epi buat pemotong pada baudrate 2400 7 even 1
*/
String inputString = "";
String printString = ""; // untuk menyimpan data yang akan di keluarkan
boolean stringComplete = false; // untuk menunjukan data sudah komplit
void setup() {
// inisialisasi serial port
Serial.begin(2400,SERIAL_7E1);
// banyakanya buffer yang ditampung pada input string
inputString.reserve(200);
}
void loop() {
// print the string when a newline arrives:
if (stringComplete) {
Serial.println(printString);
// clear the string:
inputString = "";
stringComplete = false;
}
}
void serialEvent() {
while (Serial.available()) {
// mengambil data perbyte
char inChar = (char)Serial.read();
// jika menemukan data new line maka data akan dirubah
if (inChar == '\n') {
printString = "S" + inputString.substring(2, 12);
stringComplete = true;
}
else {
// masukan data pada string
inputString += inChar;
}
}
}
program ini bertujuan mengolah data serial komunikasi dengan memotong dua huruf pertama digantikan dengan "S" kemudian sisanya 12 character diambil untuk dikirim kembali ke serial portnya.
ini source yang digunakan untuk arduino
/*
epi buat pemotong pada baudrate 2400 7 even 1
*/
String inputString = "";
String printString = ""; // untuk menyimpan data yang akan di keluarkan
boolean stringComplete = false; // untuk menunjukan data sudah komplit
void setup() {
// inisialisasi serial port
Serial.begin(2400,SERIAL_7E1);
// banyakanya buffer yang ditampung pada input string
inputString.reserve(200);
}
void loop() {
// print the string when a newline arrives:
if (stringComplete) {
Serial.println(printString);
// clear the string:
inputString = "";
stringComplete = false;
}
}
void serialEvent() {
while (Serial.available()) {
// mengambil data perbyte
char inChar = (char)Serial.read();
// jika menemukan data new line maka data akan dirubah
if (inChar == '\n') {
printString = "S" + inputString.substring(2, 12);
stringComplete = true;
}
else {
// masukan data pada string
inputString += inChar;
}
}
}