Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

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

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

Перевод: Максим Кузьмин (Cubewriter)
Перевел 2686 статей для сайта.

Контакты:

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


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

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

Код

  1. //  Тестовый скетч для класса PString
  2.  
  3. #include <PString.h>
  4.  
  5. #define PI 3.1415927
  6. #define SECS 86400
  7.  
  8. void setup()
  9. {
  10.   char buffer[40];
  11.   Serial.begin(9600);
  12.   delay(2000);
  13.  
  14.   // есть два главных способа использования PString;
  15.   // «быстрый» - простая конвертация одного значения в буфер:
  16.  
  17.   PString(buffer, sizeof(buffer), PI); // помещаем значение PI в буфер
  18.   Serial.println(buffer); // далее делаем с этим «буфером», что угодно
  19.  
  20.   // еще примеры «быстрого» способа»:
  21.   PString(buffer, sizeof(buffer), "Printing strings");
  22.   PString(buffer, sizeof(buffer), SECS);
  23.   PString(buffer, sizeof(buffer), SECS, HEX);
  24.   Serial.println(buffer);
  25.  
  26.   // кроме того, можно создать именованный объект PString, и управлять 
  27.   // им также, как если бы это был объект Serial или LiquidCrystal:
  28.   PString str(buffer, sizeof(buffer)); 
  29.   str.print("The value of PI is ");  //  "Значение PI: " 
  30.   str.print(PI);
  31.  
  32.   // теперь буфер содержит предложение «The value of PI is 3.14..»,
  33.   // что значит «Значение PI: 3.14..», 
  34.   // и эти данные можно извлечь напрямую...
  35.   Serial.println(buffer);
  36.   // ...либо опосредованно:
  37.   Serial.println(str);
  38.  
  39.   // вот несколько примеров функций-членов:
  40.   Serial.print("The string's length is ");  //  "Длина строки: "
  41.   Serial.println(str.length());
  42.   Serial.print("Its capacity is ");  //  "Объем строки: "
  43.   Serial.println(str.capacity());
  44.  
  45.   // с помощью begin() объект PString можно использовать повторно:
  46.   str.begin();
  47.   str.print("Hello, world!");  //  "Привет, мир!"
  48.   Serial.println(str);
  49.  
  50.   // то же самое можно сделать с помощью оператора присвоения:
  51.   str = "Goodbye, cruel";  //  "Прощай, жестокий"
  52.  
  53.   // также объекты PString поддерживают оператор конкатенации: 
  54.   str += " world!";  //  " мир!"
  55.   Serial.println(str);
  56.  
  57.   // Кроме того, строки можно проверять на идентичность: 
  58.   if (str == "Goodbye, cruel world!")  //  "Прощай, жестокий мир!"
  59.     Serial.println("Yes, alas, goodbye indeed");    //  "Да, жаль, прощай"
  60. }
  61.  
  62. void loop()
  63. {}

См.также

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

  1. arduiniana.org - test_pstring.pde