Перейти к содержанию
    

Вопрос про интерфейс RS-232

2 часа назад, Harbinger сказал:

Да без всякой софтины. Включение ПК при подключенном к COM-порту и запитанном модуле. Если подключать уже при загруженной ОС - ничего подобного, естественно, не происходит.

Ну у меня такое (включение при подключённых COM-устройствах) тоже много когда случается (отлаживаю/-ал кучу устройств с выводом лога в UART). Другое дело, что COM-порты эти - чаще всего USB-UART, а значит приём из них стартует только после старта USB-драйвера. Хотя на рабочем ПК есть и 4 PCI-ых COM-порта с 4 отлаживаемыми устройствами (но правда уже на Win8).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Включение ПК при подключенном к COM-порту и запитанном модуле


"Это не наш метод, Шурик..."(с)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На "семёрке" сталкивался с таким делом (девайс, постоянно "гнавший" логи, распознавался как мышь)

К сожалению, не вспомню, что конкретно (гуглится довольно легко), но достаточно поправить какой-то параметр в реестре

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, toweroff сказал:

На "семёрке" сталкивался с таким делом (девайс, постоянно "гнавший" логи, распознавался как мышь)

К сожалению, не вспомню, что конкретно (гуглится довольно легко), но достаточно поправить какой-то параметр в реестре

+1

https://stackoverflow.com/questions/9226082/device-misdetected-as-serial-mouse

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

28.07.2021 в 17:55, syoma сказал:

Тое есть вы соединяете два компьютера по RS232 и открываете один терминал на одном компьютере и второй на другом. Если все сделано правильно, то когда вы будете набирать текст на клавиатуре на одном терминале, он будет появляться на другом, и наоборот - вводя текст на втором терминале, он появится на первом. То есть символы(они же - данные) передаются туда и сюда в обоих направлениях. 

А они одновременно смогут передавать данные? Кстати если два компьютера соединить, и передавать текст, как вы описали, кто тогда будет мастером, и кто ведомым? Это два равнозначных устройства получаются тогда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, Джоконда сказал:

Это два равнозначных устройства получаются тогда.

Совершенно верно. Тут нет ведущего и ведомого. У каждого устройства есть просто линия приёма и линия передачи. Они независимы. То, что передаёт одно устройство - принимает другое, и наоборот.

Другое дело - модуль UART в МК. Там всё очень похоже, но для передачи и приёма используется тот же тактовый сигнал. Поэтому одновременно с передачей осуществляется приём (выходной буфер бит за битом опустошается при одновременном заполнении приёмного буфера). Таким образом, если линии Тх и Rx соединить (то есть, закольцевать буферы), то принимать мы будем то, что передаём.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

59 минут назад, Herz сказал:

Другое дело - модуль UART в МК. Там всё очень похоже, но для передачи и приёма используется тот же тактовый сигнал. Поэтому одновременно с передачей осуществляется приём (выходной буфер бит за битом опустошается при одновременном заполнении приёмного буфера). Таким образом, если линии Тх и Rx соединить (то есть, закольцевать буферы), то принимать мы будем то, что передаём.

Что-что? Не путаете с USART или SPI? UART на то и UART, что прием и передача осуществляются без сигнала синхронизации (асинхронно), а приемный и передающий тракты (автоматы состояний внутри периферии) не зависят друг от друга. Приемник внутри генерирует частоту в 8 или 16 раз выше, чем битовый интервал, для правильного семплирования асинхронной линии RX. Передатчик, скорее всего, тоже работает на повышенной частоте, чтобы формировать правильные битовые интервалы на ножке TX.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, Arlleex сказал:

Не путаете

И да, и нет. Действительно, в отличие от SPI, приёмник и передатчик UART работают независимо. Это мой косяк.

Но дело не в синхронизации и не в тактировании модуля внутренним клоком. Я имел в виду, что скорость обмена будет одной и той же для приёмника и передатчика. Вы ведь не сможете в дуплексном режиме одновременно принимать и передавать с разной скоростью?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

21 минуту назад, Herz сказал:

Вы ведь не сможете в дуплексном режиме одновременно принимать и передавать с разной скоростью?

Ну, по крайней мере, не видел таких модулей, где битовые интервалы для передачи и приема настраивались бы раздельно:smile: Но в целом, наверное, ничего не мешает реализовать. Разве что такое трудно придумать куда пристроить, поэтому и не делают, скорее всего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, Джоконда said:

А они одновременно смогут передавать данные? Кстати если два компьютера соединить, и передавать текст, как вы описали, кто тогда будет мастером, и кто ведомым? Это два равнозначных устройства получаются тогда.

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

Не забывайте, что мы говорим именно про физический интерфейс и логику приемо-передатчиков RS-232. На более высоком уровне протокола - когда мы хотим сформировать байты в пакеты, проверять их на ошибки, передавать большие данные в виде файлов и т.д  уже появляется неравнозначность, мастера, ведомые, клиенты. Это называется протокол передачи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 часов назад, Herz сказал:

в тактировании модуля внутренним клоком

Так это во всех UART'ах так, а не только в МК (во всяком случае, я, как и коллега Arlleex, других не встречал) . :yes3:

И в ПиСюке такая же история.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 часов назад, Herz сказал:

одновременно принимать и передавать с разной скоростью?

Да, обычно один тактовый генератор на модуль, но сейчас в МК таких модулей может быть несколько.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

30 minutes ago, Plain said:

Да, обычно один тактовый генератор на модуль, но сейчас в МК таких модулей может быть несколько.

При этом периферия USART тактируется в итоге одним тактовым сигналом. Пока ещё не встречал МК где скорости приёма и передачи можно настроить отдельно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

51 минуту назад, haker_fox сказал:

USART тактируется в итоге одним тактовым сигналом

Конкретно в PIC — на все модули без выбора поступает только системная частота, её каждому можно лишь по-разному делить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, haker_fox сказал:

При этом периферия USART тактируется в итоге одним тактовым сигналом.

@Plain подразумевает под модулем полноценный приемопередатчик, например, UART1, UART2, UART3 и т.д. Никто не мешает, например, сделать так чтобы UART1 передавал на скорости 115200, а принимал уже UART2 и на 9600. В итоге из устройства торчит RX на 9600 и TX на 115200, только сложно придумать или вспомнить устройство, у которого был бы такой разноскоростной приемопередающий канал. Однако если бы в каждом модуле скорость RX- и TX-каналов настраивалась независимо, то один модуль можно было бы более гибче использовать для симплексных приема/передачи. У меня, например, есть девайс, который с определенным темпом лишь выплевывают пачку данных, ничего не принимая. А вот если бы в таком устройстве понадобилось еще подсосаться к стороннему девайсу и лишь принимать от него данные, не отдавая в него ничего в ответ (тоже односторонняя связь), да еще и на другой скорости (одновременно не вмешиваясь в работу передающей линии), то было бы удобно иметь как раз независимо настраиваемые RX- и TX-каналы. Иначе - нужен МК с двумя UART-модулями, а это может быть не очень оптимально.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...