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

Управление Ногой Txd При Включеном Uart


bestsponsor

Рекомендуемые сообщения

Мк AtMega162.

Используются апаратные USART для обмена с телеграфным каналом.

К стандартным функциям RS232 нужно добавить возможность программе изменять состояния вывода TxD для импульсного набора номера и т.д.

Как это можно реализовать?

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

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Раскоройте вопрос. А то со стороный как-то неясно и не логично. :)

Пишу на Си CCS PICC для PIC, CVAVR для AVR, и иногда IAR для NEC. Особенно привык к SIM300dz.

ICQ: 288449055

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

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Для установки соединения есть необходимость поменять полярность на ноге TxD (запрос к станции на разрешение набора номера), далее той же ногой сделать импульсный набор номера, а потом после ответа абонента будет работать стандартный протокол RS232.

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

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

  • 3 недели спустя...
Мк AtMega162.

Используются апаратные USART для обмена с телеграфным каналом.

К стандартным функциям RS232 нужно добавить возможность программе изменять состояния вывода TxD для импульсного набора номера и т.д.

Как это можно реализовать?

Если есть доступ к исходникам или писал сам. То просто отключаешь USART и пишеш сам управление этой ножкой. Если это готовое устройство, то в разрыв ставишь комутатор и делаешь нобиратель номера.

Это сообщение поставляется "как есть", без каких либо гарантий. Автор сообщения не несёт какой либо ответственности

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

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

Спасибо! Уже разобрался.

Нужно вначале сконфигурировать порт D (или только один пин , на котором Txd) на вывод. Далее в процессе работы выключаем передатчик командой Reset UCR.3 , работаем с пином, далее возвращаем все на место Set UCR.3 и продолжаем пользоваться USART

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

  • 1 месяц спустя...

Незнал в какую тему написать поетому пишу сюда.Вопрос про уарт У меня есть простенькая подпрограмма которая обслуживает клавиатуру из 15 клавиш (3*5), и сохраняет 8-разрядный код нажатой клавиши в регистр.Собственно вопрос : насколько сложно передать по сом порту код нажатой клавишы и чтоб етот код управлял какойто функцией в ПК? Планирую сделать мультимедиа-центр из старого компа Нужно будет управлять винампом с вышеописаной клавиатуры и с пульта.

Забанен за рекламу

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

Рекомендую использовать среду Bascom-AVR. Там все это предельно просто. Есть все для работы и с клавой и с портом (и с другими прибамбасами). Ваша программа выйдет в несколько строк всего. Например вывод в СОМ порт делается командой Print (в разных вариантах для символов, бинарных чисел и т.д.) Кстати и порты очень легко настроить. А для ПК примените среду HiASM- нет ничего проще для написания софта непрофесионалам. У них там форум живой - отвечают часто за пару минут.

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

...насколько сложно передать по сом порту код нажатой клавишы и чтоб етот код управлял какойто функцией в ПК? Планирую сделать мультимедиа-центр из старого компа Нужно будет управлять винампом с вышеописаной клавиатуры и с пульта.

Здесь есть пример приема с пульта RC5 и передачи по RS232:

http://forum.cxem.net/index.php?s=&sho...st&p=206994

Обработчик на компе простейший (для VB) - используем элемент MSComm для приема сообщений. По приходу первого символа в приемный буффер порта (есть такое событие у этого элемента), запускаем таймер (тож элемент есть такой) и ждем некоторое время (большее чем время передачи сообщения) Потом забираем сообщение процедурой:

				   Do
			   DoEvents
			   Loop Until MSComm1.InBufferCount >= 1
			   strData = MSComm1.Input

И пишем для Винампа нечто такое:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As Long) As Long
Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Private Sub Rulez()
 On Error GoTo t3
Dim Device As String
Dim Command As String

Device = Mid(strData, 32, 2) ' Выделение из посылки нужных цифирь (Посылку не оптимизировал, чтоб в терминале смотреть удобно)...
Command = Mid(strData, 44, 2)
'Print Device
'Print Command

If Device = 25 Then
	  HwndWMP = FindWindow("Winamp v1.x", 0)
	  If HwndWMP = 0 Then MsgBox "Winamp не запущен!": Exit Sub

	  Select Case Command
	  Case 32
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 66, 1) ' Следующий трек
	  Text1.Text = "Следующий трек"
	  Case 33
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 90, 1) ' Предыдущий трек
	  Text1.Text = "Предыдущий трек"
	  Case 16
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 38, 1) ' Сделать громче
	  Text1.Text = "Сделать громче"
	  Case 17
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 40, 1) ' Сделать тише
	  Text1.Text = "Сделать тише"
	  Case 59
	  Text1.Text = strData
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 88, 1) ' Play
	  Text1.Text = "Play"
	  Case 15
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 86, 1) ' Stop
	  Text1.Text = "Stop"
	  Case 60
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 67, 1) ' Pause
	  Text1.Text = "Pause"
	  Case 63
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 37, 1) ' Промотать назад
	  Text1.Text = "Промотать назад"
	  Case 56
	  Call PostMessage(HwndWMP, WM_KEYDOWN, 39, 1) ' Промотать вперёд
	  Text1.Text = "Промотать вперёд"
End Select
End If
' Отправляем окну Винампа сообщения о нажатии клавиш
'Call PostMessage(HwndWMP, WM_KEYDOWN, 40, 1) ' Сделать тише

t3:
 'MsgBox Err.Description

 Resume Next
End Sub

Сейчас сделал новую систему ДУ с пультом RC5, приемник подключается к USB и помещается в телефонную розетку. Управляет WinAmp-ом и lightAlloy-ем. Скоро добавлю поддержку проги Device Control. Все отлично, за время использования ни разу не завесился....

Любой, заслуживающий внимания, опыт приобретается себе в убыток...

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

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

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

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

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

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...