Обработка формата данных в UART

Ali7777
Offline
Зарегистрирован: 24.07.2013

Здравствуйте подскажите пожалуйста как обработать данные. Приходят со считывателя карточек по rs 485, проходят микросхему max485 и конвертируются в RX TX, ARDUINO mega 2560, исполльзую Usart1, далее данные должны копироваться и отправляться в usart0 в usb на ПК. Формат данных со считывателя: 1 старт бит,8 бит данных, стоп бит, паритета нет, скорость 19200. Как обработать данные по битно, и вытащить 8 бит данных из середины?? Заранее спасибо.

maksim
Offline
Зарегистрирован: 12.02.2012

В вашем случае никак. На то он и аппаратный UART - что не нужно вам ничего обрабатывать, на выходе получаете байт данных.

void setup()  
{
  Serial.begin(19200);
  Serial1.begin(19200);
}

void loop()
{
  if (Serial1.available())
    Serial.write(Serial1.read());
  if (Serial.available())
    Serial1.write(Serial.read());
}

 

Ali7777
Offline
Зарегистрирован: 24.07.2013

Ясно, а я вот что то не догоняю, как аппаратный uart сможет понять сколько бит данных  8 или 10, откуда он знает если ли бит четности в примеру??

maksim
Offline
Зарегистрирован: 12.02.2012

10 не бывает http://arduino.cc/en/Serial/Begin