2008-10-24 9 views
4

Честно говоря, я думаю, что ответ «нет»; однако, я хочу получить второе мнение. В принципе, мне нужно одно устройство микроконтроллера, чтобы отправить постоянный сигнал другому, но связь между ними использует RS232. Поэтому я думаю, что мне нужно создать/обновить коммуникационные сообщения, чтобы заставить его делать то, что я хочу.RS232 Communication - Могу ли я использовать его для создания стабильного сигнала?

Как вы думаете?

ответ

7

Вы должны иметь возможность установить что-то вроде DTR (Data Terminal Ready), контакт 20 или DSR (Data Set Ready), контакт 6, высокий и держать его там, как ваш стационарный сигнал. Таким образом, модемы/терминалы обнаруживают, что есть устройство на другом конце, которое готово к общению. Все зависит от того, какой уровень доступа у вас есть к аппаратным средствам через ваш драйвер.

[EDIT] Это не включает в себя отправку данных, хотя еще можно было сделать с помощью TX/RX, контакты 2 & 3.

RS-232 Reference на википедии

0

Это можно было бы сделать что-то вроде что при условии, что вы не против всплывающего интерфейса. Один микро может передавать байт, а другой может сделать что-то в этом байте и отправить его обратно в ответ.

0

Если вы можете управлять обоими концами линии, вы можете превратить строки rs-232 tx и rx в обычные логические линии, чтобы предоставить эту информацию.

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

Таймер на принимающей стороне сбрасывается каждый раз, когда принимается сообщение, а если таймер истекает, сообщение задерживается слишком долго, а yo может действовать по отсутствующему сообщению о состоянии.

Как указывали другие, если вы используете аппаратное управление потоком, у вас есть также некоторые строки состояния, хотя во многих случаях эти строки не реализованы, поэтому это может быть не вариант.

-Adam

0

Steady сигнал может означать:

  • устойчивый взрыв Charaters: держать буфер передачи полный
  • линии проведены высокие или низкие: не посылать ничего или отправить постоянные перерывы
0

Я думаю, что это зависит в большой степени от UART, который вы используете, например link text, и уровень доступа, который у вас есть к нему по программному обеспечению. Если вы проверяете лист данных, часто используются способы управления большинством контактов напрямую для целей тестирования, но вам нужно будет перейти на него с довольно низкого уровня.

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

1

Если возникает вопрос: «Могу ли я изменить состояние постоянного тока линии Tx», тогда ответ будет заключаться в том, что многие uarts (в том числе и на ПК) могут попросить создать условие «перерыва», которое является противоположным к нормальному состоянию простоя линии.

Таким образом, вы можете включить и выключить «перерыв» и включить эту линию.

0

В то время как первый ответ правильный, может быть невозможно использовать эту технику (используя DTR или DSR) на многих микроконтроллерах, поскольку они могут не иметь этих сигналов (многие микроконтроллеры могут иметь только основные линии RX/TX и вам часто приходилось использовать другие порты ввода-вывода, если вам нужны дополнительные строки управления/состояния. Однако все не потеряно, многие контроллеры RS232 позволяют вам установить линию TX на «отметку» или «пробел» (т. е. установить TX от линии до логического высокого или низкого уровня), что позволит вам получить сигнал о стационарном состоянии. Линия RX на ресивере может быть проверена, чтобы проверить, не находится ли она на отметке или уровне пространства.

3

Вы имеете в виду фиксированное напряжение? прямоугольная волна? (буква U) Как насчет команды break (если вы хотите назвать ее командой)?

Конечно, вы можете использовать одну из линий управления, если это помогает ... Или вы специально ищете что-то из TX?

+0

Активировано для "U". – Toybuilder

+0

U для Upvote. – Piskvor

 Смежные вопросы

  • Нет связанных вопросов^_^