Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 22
  1. #1
    Продвинутый
    Регистрация
    03.06.2008
    Возраст
    48
    Сообщений
    320
    Вес репутации
    326

    По умолчанию а как два байта послать?

    Подскажите плиз как послать из ардуины число больше 255, например 6000?

  2. #2
    Местный Аватар для Gorynch
    Регистрация
    21.12.2009
    Возраст
    42
    Сообщений
    187
    Вес репутации
    246

    По умолчанию Re: а как два байта послать?

    послать через что?

    а вообще принимающая сторона должна знать и уметь принимать такие числа, потому как кроме как разбивкой на последовательные пакеты не передашь. а пакеты можно формировать по разному

    толком не смотрел, но похоже на правду

    один
    два

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

    По умолчанию Re: а как два байта послать?

    Вот так можно отправить 2 байтное значение, оно находится в переменной result
    PHP код:
          bytes[0] = result 255;          // преобразовать в 2-байта   
            
    bytes[1] = (result 768) >> 8;   
            
    Serial.writebytes,2); // отправить прочитаное значение компьютеру 
    Последний раз редактировалось Chip; 15.10.2011 в 01:38.

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

    По умолчанию Re: а как два байта послать?

    Спасибо Чип!!!! Можешь чутка прокоментировать? А то нифига не понятно)))

    bytes[0] = result & 255; // преобразовать в 2-байта
    bytes[1] = (result & 768) >> 8;
    Serial.write( bytes,2); // отправить прочитаное значение компьютеру
    Что такое 255 и 768, и вот эти знаки " >> , & " и что делает цифра восемь?
    Мне нужно отправить в компьютер данные с тахометра, например 4500!

    С таймерами я с твоей помощью почти разабрался!!!!!! Помоги плиз с этим тоже!!!!!

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

    По умолчанию Re: а как два байта послать?

    255 и 768 это маска на нужные для отправки нам данные, 255 маска на младший байт, 768 маска на старший байт и сдвигаем его ">>" на место младшего. & это логическая "И" с помощью ее и накладывается маска
    Вот здесь подробней
    Последний раз редактировалось Chip; 15.10.2011 в 11:59.

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

    По умолчанию Re: а как два байта послать?

    Спасибо!!! ща почитаю.

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

    По умолчанию Re: а как два байта послать?

    А принятие в компьютере как будет выглядеть?

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

    По умолчанию Re: а как два байта послать?

    Например в переменную result тип Word принимаем старший байт и сдвигаем его в лево на 8 бит , потом в эту же переменную result принимаем младший байт

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

    По умолчанию Re: а как два байта послать?

    Спасибо, а на примере можешь показать?)))

  10. #10
    Местный
    Регистрация
    10.11.2010
    Сообщений
    144
    Вес репутации
    194

    По умолчанию Re: а как два байта послать?

    Цитата Сообщение от mebitek Посмотреть сообщение
    Подскажите плиз как послать из ардуины число больше 255, например 6000?
    А если с помощью shiftOut()?

Страница 1 из 3 123 ПоследняяПоследняя

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

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

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

Ваши права

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