Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Вопрос Единицы измерения UART_RX_TOUT_THRHD

Тема в разделе "Прошивки esp8266 - общие вопросы", создана пользователем valerycpp, 16 дек 2017.

  1. valerycpp

    valerycpp Новичок

    Сообщения:
    1
    Симпатии:
    0
    Здравствуйте, уважаемые форумчане!
    Столкнулся с такой проблемой:
    Есть устройство, которое я опрашиваю, по RS485-линии, с помощью микросхемы ADM ADM3070E. Пакет данных проходит нормально хоть и приходится ждать время равное одному байту в конце передачи, переключая микросхему осуществляющую интерфейс 485-линии в режим приема.
    Прерывание RX происходит быстрее чем начнется следующий байт одного сообщения. Т.е. прерывание RX срабатывает быстрее чем опрашиваемое устройство успеет отправить полностью одну посылку. Проблему можно решить выставив порог срабатывания rx_tout_thrhd в значение 0x10. По умолчанию стоит 0x02.
    Код (C):
    1. WRITE_PERI_REG(UART_CONF1(uart_no),
    2.            ((100 & UART_RXFIFO_FULL_THRHD) << UART_RXFIFO_FULL_THRHD_S) |
    3.            ((110 & UART_RX_FLOW_THRHD) << UART_RX_FLOW_THRHD_S) |
    4.            UART_RX_FLOW_EN |
    5.            (/*0x02*/0x10 & UART_RX_TOUT_THRHD) << UART_RX_TOUT_THRHD_S |
    6.            UART_RX_TOUT_EN |
    7.         ((0x10 & UART_TXFIFO_EMPTY_THRHD) << UART_TXFIFO_EMPTY_THRHD_S));
    Это значение находится в диапазоне от 0 до 127. Вопрос: в чем измеряется это значение: в микросекундах, в долях времени передачи одного байта или что либо еще?
     
  2. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.965
    Симпатии:
    1.301
    В 8-ми клоках приема битов UART. 8 - зависит от некоторых других параметров... Начинается не с нуля. Работает асинхронно от приемника. Отслеживает тишину на линии в своих клоках, асинхронно, но строб от bitrate UART.
    Оф. описания нет. Примеры использования найдете в Web-свалке с TCP2UART и ModbusTCP/RTU/RS-485. Будете хорошо себя вести - допишу другие условия :)
    Вам скорее всего надо это esp8266web/rs485drv.c at master · pvvx/esp8266web · GitHub
     
    Последнее редактирование: 17 дек 2017

Поделиться этой страницей