Как сортировать данные

Как сортировать данные

Сообщение Danila52 » 11 фев 2013, 17:39

Есть скетч приема на модуле 433Mhz RF link
Код: Выделить всё
#include <VirtualWire.h>
 
int RF_RX_PIN = 9;
// int incomingByte = 0;   // переменная для хранения полученного байта
void setup()
{
  Serial.begin(9600);
  //Serial.println("setup");
  vw_set_rx_pin(RF_RX_PIN);  // Setup receive pin.
  vw_setup(200); // Transmission speed in bits per second.
  vw_rx_start(); // Start the PLL receiver.
}
 
void loop()
{
  uint8_t buf[VW_MAX_MESSAGE_LEN];
  uint8_t buflen = VW_MAX_MESSAGE_LEN;
  if(vw_get_message(buf, &buflen)) // non-blocking I/O
  {
    int i;
    digitalWrite(10, true); // Flash a light to show received good message
    // Message with a good checksum received, dump HEX
    Serial.print(" ");
    for(i = 0; i < buflen; ++i)
    {
      Serial.print(buf[i], HEX);
      Serial.print(" ");
    }
    Serial.println("");
    digitalWrite(10, false);
    }
}

Модуль принимает данные: 4 числа "31","32","33","34"
Как их различить и зажечь светодиоды соответственно последней цифре?
Читал учебник, разные типы данных их преобразования.
Пробовал по разному, ничего не получается.
Danila52
 
Сообщения: 8
Зарегистрирован: 23 дек 2012, 17:03
programming: -

Re: Как сортировать данные

Сообщение noonv » 12 фев 2013, 22:51

странный вопрос - вы же перебираете приёмный буфер в for(i = 0; i < buflen; ++i)
так там же можно и проверку/реакцию добавить:
Код: Выделить всё
if(buf[i] == 31) {
 digitalWrite(led1, HIGH);
}
Аватара пользователя
noonv
Администратор
 
Сообщения: 557
Зарегистрирован: 05 май 2011, 15:44
Откуда: Калининград
programming: С++


Вернуться в Программирование

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron
© 2009-2019 |  О проекте  |  Политика Конфиденциальности  |