|
|
  |
Управление ногой TxD при включенном USART |
|
|
|
Jul 27 2008, 15:30
|
Группа: Новичок
Сообщений: 2
Регистрация: 27-07-08
Пользователь №: 39 232

|
МК AtMega162. Используются аппаратные USART для обмена с телеграфным каналом. Можно ли вмешаться в работу USART и добавить управление ногой TxD для импульсного набора номера?
|
|
|
|
|
Jul 27 2008, 16:44
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Или, установив скорость 20 Бод набирать номер прямо усартом, т.е. Код if (digit) do { switch(digit) { default: case 5: outrs(0x55); break; case 4: outrs(0xD5); break; case 3: outrs(0xF5); break; case 2: outrs(0xFD); break; case 1: outrs(0xFF); break; } } while((digit-=5)>0); , где digit - собственно цифра, от 1 до 10  Немного правда с нарушением стандартного пульса 40/60, но тоже вполне устраивает АТС.
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 27 2008, 20:46
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(Rst7 @ Jul 27 2008, 19:44)  Или, установив скорость 20 Бод набирать номер прямо усартом, т.е. [code]
Немного правда с нарушением стандартного пульса 40/60, но тоже вполне устраивает АТС. Давно делал, но по-моему на 50 бод без нарушений 40/60 и с точностью генератора UART.
|
|
|
|
|
Jul 28 2008, 06:02
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата но по-моему на 50 бод без нарушений 40/60 Нет проблем, только не на 50 надо, а на 100 (100мс полная посылка на 10 бит, значит 10мс/бит=100 бод). Даже проще так выходит - Цитата if (digit) do { outrs(0xE0); //Если я не ошибаюсь, то 0 надо держать 60%, 1 - 40% } while(--digit);
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 28 2008, 17:26
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(Rst7 @ Jul 28 2008, 09:02)  Нет проблем, только не на 50 надо, а на 100 (100мс полная посылка на 10 бит, значит 10мс/бит=100 бод). на 50 Бод 5-ти элементный код как в классическом телеграфе
|
|
|
|
|
Jul 28 2008, 20:50
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(Rst7 @ Jul 28 2008, 20:39)  Так что 100 бод - наше всё  Ваше всё!
|
|
|
|
|
Jul 29 2008, 04:47
|
Группа: Новичок
Сообщений: 2
Регистрация: 27-07-08
Пользователь №: 39 232

|
Набрать USARTом - это идея! Спасибо! А как поменять полярность на ноге TxD? - это запрос разрешения набора номера Т.е. в исходном состоянии на выходе минус, для запроса разрешения набора установить на выходе плюс, получив разрешение набрать импульсом номер, получив соединение начать работать на 50 (100,200) бод 5-и битным кодом.
|
|
|
|
|
Jul 29 2008, 05:08
|

Йа моск ;)
     
Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610

|
Цитата(svs39 @ Jul 28 2008, 23:50)  Ваше всё! Вы что-то против имеете? Цитата(bestsponsor @ Jul 29 2008, 07:47)  Т.е. в исходном состоянии на выходе минус, для запроса разрешения набора установить на выходе плюс, получив разрешение набрать импульсом номер, получив соединение начать работать на 50 (100,200) бод 5-и битным кодом. Может Вы все-же объясните подробнее, что Вам надо (например, чем Вы управляете и что куда подключено), а то телепатировать тяжело
--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
|
|
|
|
|
Jul 30 2008, 16:54
|
Участник

Группа: Участник
Сообщений: 25
Регистрация: 8-03-08
Пользователь №: 35 744

|
Цитата(Rst7 @ Jul 29 2008, 08:08)  Вы что-то против имеете? Я согласился!
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|