реклама на сайте
подробности

 
 
> Компилятор CCS C V4, Если кто нибудь пользовался
automation_man
сообщение Sep 17 2007, 11:48
Сообщение #1





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



Если кто нибудь пользовался не могли бы подсказать как можно в ходе выполнения программы менять такие параметры UART как инверсию?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
upc2
сообщение Sep 18 2007, 05:43
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Аппаратная реализация USART не позволяет использовать произвольную полярность сигналов.
Директива #USE RS232 препроцессора предполагает инверсию при программной реализации
протокола.
Директивы препроцессора используются только при компиляции.
Go to the top of the page
 
+Quote Post
automation_man
сообщение Sep 18 2007, 09:47
Сообщение #3





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



Софтварный или хардварный порт это значение не имеет. Вопрос если точнее сказать в следующем:
Есть микруха модема. 2 управляющих сигнала на прием или передачу выполненно с одной ножки пика через транзисторный ключ. Девайс все врема сидит в ожидании приема после приема отвечает. Но если он сконфигурирован как приемник и на TX висит высокий уровень(а именно так оно и есть) то микруха модема генерирует частоту которая мне не нужна. Вопрос в том как можно ТХ положить в низкий уровень при этом не знаю даже подойдет ли инверсия. При инверсии скорее всего старт бит и стоп бит проинвертируются тоже. Как быть не знаю...
Go to the top of the page
 
+Quote Post
upc2
сообщение Sep 18 2007, 10:04
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Плохо представляю.Почему микросхема модема не имеет раздельных Rx и Tx?
Если бы вы черканули простенькую схему ,было бы понятней

Если предположить, что вы другим выводом пика управляеете приемом и передачей,
то вероятно надо программно реализовать протокол.
Лучше всего использовать RB0- внешнее прерывание.Этот вывод можно настроить как на прием
положительных, так а и отрицательных импульсов.А после приема с этой ножки можно
отправить и посылку.
Go to the top of the page
 
+Quote Post
automation_man
сообщение Sep 18 2007, 12:17
Сообщение #5





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



Я наверное неправильно объясняю. RX и TX раздельные. Обычный UART. А вот сигналы включения приемника или включения передатчика отдельно. Сигналы М0 и М1. Если М0=0 аМ1=1 то микруха работает на прием, если М0=1, а М1=0 то на передачу. А если модем ожидает приема данных и ТХ=1 то на ТХ генерируется частота 375 Гц которая не нужна. Если же модем на прием а ТХ=0 то все ок. Понятно что между сигналом управления и ТХ можно поставить диод Шоттки и проблема будет решена. Но так как работаю с готовой печатной платой хотелось бы разрулить это программно.
Go to the top of the page
 
+Quote Post
upc2
сообщение Sep 19 2007, 05:28
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



При использовании стандартного USART есть только возможность перевести вывод TX в
третье состояние. Для этого надо бит TXEN регистра TXSTA установить в 0.
Опции в препроцессоре #UseRs232 для этого нет.Как устроены функции putc(),getc(0) тоже
непонятно.
Можно написать свою функцию передачи с управлением и этим битом.
например для CCS:
Bit_SEt(TXSTA,TXEN);
TXREG = c;
while ( ! TXSTA );
Bit_Clear(TXSTA,TXEN);
Go to the top of the page
 
+Quote Post
automation_man
сообщение Sep 19 2007, 07:34
Сообщение #7





Группа: Новичок
Сообщений: 13
Регистрация: 14-09-07
Пользователь №: 30 539



Полегчало схеме. smile.gif Спасиб большое! До этого делал просто выключение передатчика не помогло. Теперь понял суть. Только наверное подтяжка вниз нужна по ТХ.


Сделал проще. Просто постоянно передаю 0. smile.gif Ширины стоп битов не хватает что бы начать генерацию колебаний.
Go to the top of the page
 
+Quote Post
upc2
сообщение Sep 19 2007, 09:39
Сообщение #8


Знающий
****

Группа: Свой
Сообщений: 506
Регистрация: 29-09-05
Из: Донецк
Пользователь №: 9 063



Можно подтянуть к 0. Передавать все время 0 думаю нецелесобразно.
Вам вероятно виднее. Успехов.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 06:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016