Teensy 4.1 последовательная связь с 7N2 (7 databits no parity 2 stopbits)

Я портировал проект с Arduino Due в Teensy 4.1

В проекте я считываю данные с датчика, который говорит последовательно на 7 битах данных, без четности и 2 стоп-битах (не настраивается).

Теперь кажется, что teensy не поддерживает этотформат данных . Могу ли я каким-то образом прочитать свой датчик, используя teensy 4.1? Возможно, я мог бы использовать softwareserial, но формат, похоже, не настраивается.

, 👍1

Обсуждение

может быть, попробуйте использовать SERIAL_7N1 | SERIAL_2STOP_BITS, я не понимаю, почему он не должен его поддерживать, @KIIV

Привет @KIIV Я пробовал, но он не компилируется: 'SERIAL_7N1' не был объявлен в этой области. 7 бит данных без четности не перечислены в поддерживаемых форматах данных., @user72330

Странно, как насчет 8N1 с маскировкой этого последнего бита в логику 1, чтобы он выглядел как 2 стоп-бита?, @KIIV


1 ответ


Лучший ответ:

0

Нет никакой разницы между 7N2 и 8N1. У вас просто есть самый значимый бит вашего значения данных, являющийся первым из двух стоп-битов.

Для передачи просто установите самый значимый бит на 1.

Чтобы получить его, просто проигнорируйте самый значимый бит.

Например:

Serial.write(val | 0x80);

И еще:

uint8_t val = Serial.read() & 0x7F;
,