Включение и проверка битовой четности между C++ и PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Включение и проверка битовой четности между C++ и Python

Сообщение Anonymous »


tl;dr — когда четность включена на обеих сторонах контроллера C++ и клиента Python, сообщения, похоже, на самом деле не требуют проверки и задаются вопросом, не упускаю ли я что-то для настройки или мне нужно вручную проверять каждое сообщение.

Я пытался использовать битовую четность для проверки сообщений на поверхностном уровне между платой Microsemi Smartfusion 2 с использованием контроллера C++ с MSS Uart и клиентом Python с использованием Pyserial, который, похоже, только что стал Win32Serial.

Когда и контроллер, и клиент настроены на «Нет четности», они работают нормально, как и ожидалось. Если оба настроены на «Нечетное/Нечетное» или «Четное/Четное», они работают должным образом.

Проблема, с которой мы сталкиваемся, заключается в том, что когда Клиент и Контроллер настроены на Четное/Нечетное или Нечетное/Четное, они работают, что противоречит нашим ожиданиям. Мы ожидаем, что он выдаст ошибку или где-то зависнет, но вместо этого он работает так, как ожидалось.

Подключение Python и установка битовой четности

попробуйте: self.port = серийный.Serial( порт = self.имя_порта, скорость передачи данных = SERIAL_CONSTS.BAUDRATE, четность = серийный.PARITY_ODD, стопбиты = серийный.STOPBITS_ONE, bytesize=serial.EIGHTBITS, тайм-аут = SERIAL_CONSTS.DEFAULT_TIMEOUT ) Подключение C++ и установка битовой четности

MSS_UART_init( &g_mss_uart0, UARTParameters::SerialBaudRate_BPS, UARTParameters::SerialIFConfig); Переменные для контроллера C++

const uint32_t SerialBaudRate_BPS = 4000000U; const uint8_t SerialIFConfig = MSS_UART_DATA_8_BITS | MSS_UART_ODD_PARITY | MSS_UART_ONE_STOP_BIT; Мы проверили входящие и исходящие двоичные сообщения на четность и видим, что, если установлены четные и нечетные, бит четности правильный при отправке и получении, и сообщение выполняется независимо от того, какую четность установил получатель.< /п> Мы обнаружили, что если на клиенте или контроллере для бита четности установлено значение «нет», мы получим ошибку подтверждения, которую мы ожидаем, поскольку сообщения имеют разный размер (похоже, бит четности просто отбрасывается).
р>
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»