mantech 32 4 января, 2021 Опубликовано 4 января, 2021 (изменено) · Жалоба Приветствую! Вопрос на засыпку))) Нужно передавать первый байт с установленным 9м битом в 1, остальные в 0 (протокол MDB), но порт 16550 совместимый, как-то можно его заставить работать в таком режиме? Может с четностью как-то "поиграть" можно? Пока до конца не понял, чем отличается ODD от EVEN режима... Есть какие-мнения? Изменено 4 января, 2021 пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 117 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба Да, только с четностью играть. ODD и EVEN отличаются полярностью, но они вам не подходят, ибо зависят от содержимого передаваемого байта. Там есть еще два варианта - "принудительно 1" и "принудительно 0" - вот они вам подойдут. И с FIFO придется отключить как минимум на время передачи адресного байта. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 4 часа назад, Сергей Борщ сказал: Там есть еще два варианта - "принудительно 1" и "принудительно 0" - вот они вам подойдут. А можно по-подробнее, где это задается, не увидел... 4 часа назад, Сергей Борщ сказал: ODD и EVEN отличаются полярностью, но они вам не подходят, ибо зависят от содержимого передаваемого байта Ну в принципе, можно анализировать 0й бит передаваемого байта (0-четный 1 нечет) но если при четном байте поставить ODD, что будет в бите четности? Анализатора нет посмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 11 минут назад, mantech сказал: Ну в принципе, можно анализировать 0й бит передаваемого байта (0-четный 1 нечет) но если при четном байте поставить ODD, что будет в бите четности? Анализатора нет посмотреть. Чётным/нечётным должно быть не передаваемое число, а количество единичных бит в нём. UART считает это количество и дополняет его до чётного или нечётного (в зависимости от конфига - even/odd). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 1 минуту назад, jcxz сказал: а количество единичных бит в нём. Т.е. 1,3,5,7 единиц - нечетное получается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 1 минуту назад, mantech сказал: Т.е. 1,3,5,7 единиц - нечетное получается? да Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 1 минуту назад, jcxz сказал: да Понял, тогда " дополняет его до чётного или нечётного (в зависимости от конфига - even/odd)." в таком случае, при заданном ODD что будет в бите четности 0 или 1 ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 25 минут назад, mantech сказал: А можно по-подробнее, где это задается, не увидел... https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setcommstate https://docs.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-dcb 4 минуты назад, mantech сказал: Понял, тогда " дополняет его до чётного или нечётного (в зависимости от конфига - even/odd)." в таком случае, при заданном ODD что будет в бите четности 0 или 1 ? Ну там же всё просто! Смотрите на картинку вверху страницы: https://en.wikipedia.org/wiki/Parity_bit Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 3 минуты назад, jcxz сказал: https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setcommstate https://docs.microsoft.com/en-us/windows/win32/api/winbase/ns-winbase-dcb Это здрово, конечно в регистрах бы это посмотреть... The parity scheme to be used. This member can be one of the following values. TABLE 4 Value Meaning EVENPARITY 2 Even parity. MARKPARITY 3 Mark parity. NOPARITY 0 No parity. ODDPARITY 1 Odd parity. SPACEPARITY 4 Space parity. MARKPARITY и SPACEPARITY имеется ввиду? 6 минут назад, jcxz сказал: Ну там же всё просто! Смотрите на картинку вверху страницы: Спасибо, да действительно все нарисовано))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 1 минуту назад, mantech сказал: Это здрово, конечно в регистрах бы это посмотреть... В даташите на ваш чип должно быть. 1 минуту назад, mantech сказал: MARKPARITY и SPACEPARITY имеется ввиду? да. На https://en.wikipedia.org/wiki/Parity_bit тоже это описано. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 1 минуту назад, jcxz сказал: В даташите на ваш чип должно быть. Да вот этого и не нашел. УАРТ в аллвиннере, пишут, что 16550 совместимый, может не так уж совместимый... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 172 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 4 минуты назад, mantech сказал: Да вот этого и не нашел. УАРТ в аллвиннере, пишут, что 16550 совместимый, может не так уж совместимый... совместимый != идентичный. Что-то может отсутствовать. PS: С таким количеством ресурсов быстродействия как в аллвинере, можно и программно UART эмулировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 10 минут назад, jcxz сказал: С таким количеством ресурсов быстродействия как в аллвинере, можно и программно UART эмулировать. Да, мысли были, но там уже и так один эмулируется по причине того, что их всего три, но с другой стороны, скорость всего 9600, поэтому больших проблем быть не должно... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 32 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба 1 час назад, jcxz сказал: тоже это описано. В догонку еще))) Нет-ли какого-то простого и быстрого алгоритма определения четного\нечетного числа, или только по таблице? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mdmitry 0 4 января, 2021 Опубликовано 4 января, 2021 · Жалоба Может быть полезно посмотреть главу 5 в книге "Алгоритмические трюки для программистов", второе издание, Генри Уоррен, мл. , 2014 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться