Site icon elektromanyetix

Arduino Seri İletişim Durum Karşılaştırması

Arduino Seri İletişim Durum Karşılaştırması.

Arduino Seri İletişim Durum Karşılaştırması

Arduino Seri İletişim Durum Karşılaştırması. Bu örnek SerialEvent () işlevinin kullanımını göstermektedir. Bu işlev döngü () içerisinde çağrılır. Arabellekte seri veri varsa, bulunan her karakter yeni bir satır bulunana kadar bir dizeye eklenir. Bu durumda, şimdiye kadar alınan karakterler tarafından oluşturulan dizgi yazdırılır ve null olarak ayarlanır.

Donanım

  • Arduino veya Genuino

“Arduino UNO, elektronik ve kodlamaya başlamak için en iyi tahtadır. Bu, platformla birlikte çalıştığınız ilk deneyiminizse, Arduino UNO, denemelere başlayabileceğiniz en iyi seçimdir. UNO, tüm Arduino ailesinin en çok kullanılan ve içeriği bulunan kartıdır.

Arduino Uno, ATmega328P tabanlı bir mikro denetleyici karttır. 14 adet dijital giriş / çıkış pini (6’sı PWM çıkışı olarak kullanılabilir), 6 analog giriş, 16 MHz kristali, bir USB bağlantısı, bir güç girişi, bir ICSP başlığı ve bir sıfırlama düğmesi vardır. Mikrodenetleyiciyi desteklemek için gereken her şeyi içerir; Başlamak için bir USB kablosuyla bir bilgisayara bağlayın ya da AC-DC adaptörü ya da pille çalıştırın. UNO’yu, yanlış bir şey yapmadan çok fazla endişe etmeden tamir edebilir, en kötü durum senaryosunu değiştirebilirsiniz. Birkaç dolara çip alır ve tekrar kullanabilirsiniz.”

Devre

Herhangibir Devreye gerek yok. Sadece bilgisayara bağlı bir arduino olmalı; Arduino Yazılım (IDE) seri monitörü, tek veya çoklu karakterleri iletmek ve dizeyi geri almak için kullanılabilir.

Kod

/*
Seri Etkinlik örneği

Yeni seri veri geldiğinde, bu çizim onu ​​bir String'e ekler.
Bir satırsonu alındığında, döngü dizeyi yazdırır ve temizler.

Bunun için iyi bir test, gönderen bir GPS alıcısıyla denemek
NMEA 0183 cümleleri.

NOT: serialEvent () özelliği Leonardo, Micro veya
diğer ATmega32U4 tabanlı anakartlar.

oluşturuldu 9 Mayıs 2011
Tom Igoe tarafından

Bu örnek kod kamu malıdır.
http://www.arduino.cc/en/Tutorial/SerialEvent
*/


String inputString = "";         // gelen verileri tutmak için bir String
boolean stringComplete = false;   // dizenin tamamlanmış olup olmadığı

void setup() {
  // seriyi başlat:
  Serial.begin(9600);
  // inputString için 200 bayt ayırın:
  inputString.reserve(200);
}

void loop() {
  // bir satırsonu geldiğinde dizeyi basar:
  if (stringComplete) {
    Serial.println(inputString);
    // dizeyi temizle:
    inputString = "";
    stringComplete = false;
  }
}

/*
SerialEvent, donanım seri RX'lerinde yeni bir veri geldiğinde oluşur. Bu
Her zaman loop() arasında rutin çalıştırır, böylece iç döngüde gecikme kullanarak
gecikme cevabı. Birden çok bayt veri mevcut olabilir.
*/
void serialEvent() {
  while (Serial.available()) {
    // yeni baytı al:
    char inChar = (char)Serial.read();
    // inputString dosyasına ekleyin:
    inputString += inChar;
    // gelen karakter bir satırsonu ise, bir bayrak ayarlayın, böylece ana döngü
    // bu konuda bir şeyler yap:
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}Kaynak:arduino.cc
Exit mobile version