Arduino:Примеры/test pstring

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Тестовый скетч для класса PString[1]

Это скетч для класса PString и платы Arduino, демонстрирующий использование ее основных функций, а также поддерживаемых операторов.

Код

//  Тестовый скетч для класса PString

#include <PString.h>

#define PI 3.1415927
#define SECS 86400

void setup()
{
  char buffer[40];
  Serial.begin(9600);
  delay(2000);
  
  // есть два главных способа использования PString;
  // «быстрый» - простая конвертация одного значения в буфер:

  PString(buffer, sizeof(buffer), PI); // помещаем значение PI в буфер
  Serial.println(buffer); // далее делаем с этим «буфером», что угодно

  // еще примеры «быстрого» способа»:
  PString(buffer, sizeof(buffer), "Printing strings");
  PString(buffer, sizeof(buffer), SECS);
  PString(buffer, sizeof(buffer), SECS, HEX);
  Serial.println(buffer);
  
  // кроме того, можно создать именованный объект PString, и управлять 
  // им также, как если бы это был объект Serial или LiquidCrystal:
  PString str(buffer, sizeof(buffer)); 
  str.print("The value of PI is ");  //  "Значение PI: " 
  str.print(PI);
  
  // теперь буфер содержит предложение «The value of PI is 3.14..»,
  // что значит «Значение PI: 3.14..», 
  // и эти данные можно извлечь напрямую...
  Serial.println(buffer);
  // ...либо опосредованно:
  Serial.println(str);
  
  // вот несколько примеров функций-членов:
  Serial.print("The string's length is ");  //  "Длина строки: "
  Serial.println(str.length());
  Serial.print("Its capacity is ");  //  "Объем строки: "
  Serial.println(str.capacity());
  
  // с помощью begin() объект PString можно использовать повторно:
  str.begin();
  str.print("Hello, world!");  //  "Привет, мир!"
  Serial.println(str);
  
  // то же самое можно сделать с помощью оператора присвоения:
  str = "Goodbye, cruel";  //  "Прощай, жестокий"
  
  // также объекты PString поддерживают оператор конкатенации: 
  str += " world!";  //  " мир!"
  Serial.println(str);
  
  // Кроме того, строки можно проверять на идентичность: 
  if (str == "Goodbye, cruel world!")  //  "Прощай, жестокий мир!"
    Serial.println("Yes, alas, goodbye indeed");    //  "Да, жаль, прощай"
}

void loop()
{}

См.также

Внешние ссылки