Например TDA7294

Форум РадиоКот • Просмотр темы - Pic16F628A и USART
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср май 14, 2025 15:03:37

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 3 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Pic16F628A и USART
СообщениеДобавлено: Чт ноя 21, 2019 11:46:29 
Родился

Зарегистрирован: Чт ноя 21, 2019 11:40:38
Сообщений: 2
Рейтинг сообщения: 0
Задача : управление с компьютера, программой на Lazaruse, 16-ю реле.
Контроллер на PIC 16F628A , имеющий аппаратный USART. По передачей с Lazarusa и приемом контроллером вопросов нет. Отправляю по 2 байта - 16 реле. Подумал , нет обратной связи , вдруг кабель оборвут . Решил после приема контроллером 2-х байт отправлять их обратно на комп и там сравнивать. Pic 628 принимает без проблем , а при передаче возникла непонятная проблема .
Как только я записываю данные в TXREG у меня программа уходит на перезагруз,
начинает работать со старта, если заремить команды movwf TXREG, этого не происходит. Может кто сталкивался ?
WDT ни при чем , я его запрещал , то же самое.

Код программы на передачу :
bcf Intcon,Gie ; Глобальный запрет прерываний
bcf RCSTA,CREN ; Запрещение приема
bsf PortB,Receiv ; Включение 75176 на передачу данных
bsf Status,RP0 ; Переход в 1-й банк.
bsf TXSTA,TXEN ; Разрешение передачи
bcf Status,RP0 ; Переход в 0-й банк.
movf OutLow,W ;
movwf TXREG ;
movf OutHigh,W ;
movwf TXREG ;
bsf Status,RP0 ; Переход в 1-й банк.
clrwdt ;
btfss TXSTA,TRMT ; Байты отправлены ?
goto $-2 ; нет
bcf TXSTA,TXEN ; Запрет передачи
bcf Status,RP0 ; Переход в 0-й банк.
bcf PortB,Receiv ; Включение 75176 на прием данных
bsf RCSTA,CREN ; Разрешение приема


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16F628A и USART
СообщениеДобавлено: Чт ноя 21, 2019 13:25:49 
Друг Кота
Аватар пользователя

Карма: 49
Рейтинг сообщений: 392
Зарегистрирован: Вс июл 12, 2009 19:15:29
Сообщений: 7011
Откуда: Ижевск
Рейтинг сообщения: 0
Код:
movf OutLow,W ;
movwf TXREG ;
movf OutHigh,W ;
movwf TXREG ;

А подождать освобождения буфера?

_________________
Docendo discimus


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Pic16F628A и USART
СообщениеДобавлено: Пт ноя 22, 2019 06:53:39 
Родился

Зарегистрирован: Чт ноя 21, 2019 11:40:38
Сообщений: 2
Рейтинг сообщения: 0
Судя по диаграмме на даташит буфер TSR освободится только после отправки двух байтов , что TSR пуст проверяется
clrwdt ;
btfss TXSTA,TRMT ; Байты отправлены ?
goto $-2 ; нет
Но дело не в этом , до этого я отправлял байты по одному и дожидался освобождения TSR после каждого байта , было то же самое.
Сейчас еще проверю байт конфигурации , может какой нибудь BOR влияет . Я использую блок питания от компьютера и с этой стороны подвоха не ожидал

Добавлено after 3 minutes 50 seconds:
Из Даташит:
Можно сначала загрузить данные в TXREG, а затем установить бит TXEN. Как правило, после
разрешения передачи регистр TSR пуст, таким образом, данные записываемые в TXREG сразу передаются в TSR, а
TXREG остается пустым. Это позволяет реализовать слитную передачу данных (см. рисунок 12-6).


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y