Показано с 1 по 10 из 11

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    341

    По умолчанию Принять массив

    Можно ли функцией Serial.read(); принять массив байт в Ардуину?
    Или как правильно принимать массив?
    И можно ли Serial.read(); принять строковое значение, а не цифровое?

  2. #2
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Принять массив

    Можно ли функцией Serial.read(); принять массив байт в Ардуину?
    Принимай по байтно , складывай эти значения в массив
    PHP код:
    char Str[9] = {'c','a''r''d''u''i''n''o''\0'};
    void setup() 
    {
      
    Serial.begin(115200);
    }

    void loop() 
    {
      if (
    Serial.available() > 8
     { 
     for (
    int i=09i++) Str[i] = Serial.read();
     }
      
    Serial.println(Str);
      
    delay(1000);

    Строка это тоже массив , из строки можно также как из массива вытаскивать по одному элементу
    Примеры объявления
    char Str[9] = {'c','a', 'r', 'd', 'u', 'i', 'n', 'o', '\0'};
    char Str[ ] = "carduino";
    char Str[9] = "carduino";
    Последний раз редактировалось Chip; 17.12.2011 в 15:08.

  3. #3
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    341

    По умолчанию Re: Принять массив

    Спасибо!

  4. #4
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    341

    По умолчанию Re: Принять массив

    Вот что у меня получается:



    Зашиваю скетч (на картинке), открываю сериал монитор, он ничего не отображает но ползунок прокрутки движется, то есть приходят пустые символы.
    После того как отправляю в порт девять единиц (111111111 SEND), начинают валиться эти единицы, а в конце какие-то символы.
    Я хотел спросить, что это за символы ?

  5. #5
    Продвинутый
    Регистрация
    15.12.2008
    Возраст
    39
    Сообщений
    229
    Вес репутации
    407

    По умолчанию Re: Принять массив

    приходят пустые символы
    в функции println /r/n идут. следующая строка

    что это за символы ?
    напиши char Str[10];
    должно быть место для окончания строки. тогда не будет лишних символов
    Последний раз редактировалось manu_245; 17.12.2011 в 23:03.

  6. #6
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    50
    Сообщений
    320
    Вес репутации
    341

    По умолчанию Re: Принять массив

    Спасибо, так лучше!!!!!)))))))))))))

  7. #7
    Администратор Аватар для Chip
    Регистрация
    08.06.2007
    Возраст
    55
    Сообщений
    13,381
    Вес репутации
    10

    По умолчанию Re: Принять массив

    Ну это смотря что отправлять
    тебе нужно Serial.print(78, BYTE)
    PHP код:
    Serial.print(78передается как "78"
    Serial.print(78BYTEвыводит "N"
    Serial.print(78BINвыводит  "1001110"
    Serial.print(78OCTвыводит "116"
    Serial.print(78DECвыводит "78"
    Serial.print(78HEXвыводит "4E"
    Serial.println(1.234560выводит "1"
    Serial.println(1.234562выводит "1.23"
    Serial.println(1.234564выводит "1.2346" 
    Последний раз редактировалось Chip; 08.02.2012 в 12:43.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •