Эквивалент UCSR0B для ESP2866
Я пытаюсь преобразовать программу Arduino Uno для использования с ESP2866. Я успешно конвертировал большую часть программы, но есть несколько строк, которые я не могу понять. Например,
UCSR0B = 0b10011101;
UCSR0B = 0b10011100;
Эти строки приводят к следующей ошибке:
Compilation error: 'UCSR0B' was not declared in this scope
Насколько я понимаю, эти строки изменяют параметры в одном из последовательных регистров Uno. Можно ли проделать аналогичные действия с ESP? Я пытался исследовать это, но нашел очень мало информации в Интернете. Я использую Arduino IDE v2.2.1. Спасибо!
@blk986, 👍0
Обсуждение1 ответ
UCSR0B — это регистр управления и состояния UART на ATMEGA328, процессоре, используемом во многих моделях Arduino. Это выдержка из таблицы данных ATMEGA328, показывающая, что делают биты:
Установка значения 0b10011101 включает RXCIE, RXEN,TXEN, UCSZ2 и TXB, а установка значения 0b10011100 устанавливает все биты, кроме TXB. Установка UCSZ2 включает 9-битный режим, а установка или очистка TXB устанавливает или очищает девятый бит для передаваемых данных.
Быстрый взгляд на конфигурацию UART ESP8266 показывает, что UART поддерживает максимум 8 бит, поэтому, если вашему приложению определенно требуется 9 бит, вы не сможете сделать это на ESP8266.
typedef enum {
UART_DATA_5_BITS = 0x0, /*!< word length: 5bits*/
UART_DATA_6_BITS = 0x1, /*!< word length: 6bits*/
UART_DATA_7_BITS = 0x2, /*!< word length: 7bits*/
UART_DATA_8_BITS = 0x3, /*!< word length: 8bits*/
} uart_word_length_t;
- Двоичный в десятичный с использованием побитовых операторов
- Возможно ли двунаправленное UART-соединение по одному проводу передачи данных?
- В чем разница между библиотеками Software Serial? Какая из них совместима с Arduino Nano?
- Последовательная связь между ESP8266 и Arduino Uno
- Как использовать Serial.setTimeout()
- Отправить структуру через Serial
- Как связаться с датчиком через порты RX/TX Arduino?
- Может ли Arduino Leonardo одновременно использовать USB-порт и последовательные контакты RX TX?
При переносе программного обеспечения с одной цели на другую, особенно если оно имеет прямой доступ к оборудованию, **всегда** необходимо читать и понимать документацию обеих целей. Прежде чем опубликовать здесь вопрос, вам необходимо выполнить домашнее задание, чего вы, судя по всему, не сделали., @the busybee