Arduino String(Dizi) startsWith() ve endsWith() Komutları

0
574
Okunma

startsWith ve endsWith Komutları

Arduino String(Dizi) startsWith() ve endsWith() Komutları

startsWith ve endsWith Komutları . String işlevleri startsWith() ve endsWith() , belirli bir String’in hangi karakterle veya alt dizeyle başladığını veya biteceğini kontrol etmenizi sağlar. Temel olarak özel substring .

Donanım

“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

Bu örnek için devre yoktur, kartınız USB üzerinden bilgisayara bağlanmalı ve Arduino Yazılımının (IDE) seri monitör penceresi açık olmalıdır.

Kod

startsWith() ve endsWith() belirli bir mesaj başlığını veya String’in sonunda tek bir karakter aramak için kullanılabilir. Belirli bir konumda başlayan bir alt dizgi aramak için bir ofset ile de kullanılabilirler. Örneğin:

 stringOne = "HTTP / 1.1 200 OK";
   if (stringOne.startsWith ("200 OK", 9)) {
     Serial.println ("Sunucudan bir sorun var"); 
   }

Bu, fonksiyonel olarak aynıdır:

stringOne = "HTTP / 1.1 200 OK";
   if (stringOne.substring (9) == "200 OK") {
     Serial.println ("Sunucudan bir sorun var"); 
   }

Dikkat: Dizin aralığının dışında bir konum ararsanız, tahmin edilemez sonuçlar elde edersiniz. Örneğin, yukarıdaki örnekte, stringOne.startsWith (“200 OK”, 16) String’in kendisine karşı kontrol etmeyecekti, ancak bunun hemen ötesindeki bellekte ne varsa. En iyi sonucu elde etmek için, kullandığınız dizin değerlerinin, startsWith ve endsWith ile, 0 ile endsWith length() arasında olduğundan emin olun.

/*
Dize startWith () ve endsWith ()

String'te startWith () ve endsWith () işlevlerinin nasıl kullanılacağı ile ilgili örnekler

oluşturuldu 27 Tem 2010
değiştirilme tarihi 2 Nis 2012
Tom Igoe tarafından

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

void setup() {
  // Seri haberleşmeyi açın ve bağlantı noktasının açılmasını bekleyin:
  Serial.begin(9600);
  while (!Serial) {
    ; // bağlanmak için seri portu bekleyin. Sadece yerel USB bağlantı noktası için gerekli
  }

  // bir giriş gönderin:
  Serial.println("\n\nString startsWith() ve endsWith():");
  Serial.println();
}

void loop() {
  // startsWith() bir String'in belirli bir alt dizeyle başlayıp başlamadığını kontrol eder:
  String stringOne = "HTTP/1.1 200 OK";
  Serial.println(stringOne);
  if (stringOne.startsWith("HTTP/1.1")) {
    Serial.println("Sunucu, http sürüm 1.1 kullanıyor");
  }

  // Ayrıca, dizgedeki bir ofset konumunda startsWith() öğesini de arayabilirsiniz:
  stringOne = "HTTP/1.1 200 OK";
  if (stringOne.startsWith("200 OK", 9)) {
    Serial.println("Sunucudan bir sorun var");
  }

  // endsWith() bir String'in belirli bir karakterle bitip bitmediğini kontrol eder:
  String sensorReading = "sensörr = ";
  sensorReading += analogRead(A0);
  Serial.print(sensorReading);
  if (sensorReading.endsWith("0")) {
    Serial.println(". Bu okuma on ile bölünebilir");
  } else {
    Serial.println(". Bu okuma on ile bölünemez");
  }

  // true iken hiçbir şey yapmayın:
  while (true);
}

Kaynak:arduino.cc   startsWith ve endsWith Komutları

CEVAP VER

Please enter your comment!
Please enter your name here

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.