Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Программная инженерия > Микроконтроллеры, робототехника, схемотехника, 3D принтеры
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.11.2019, 11:09   #1
MSergej
Новичок
Джуниор
 
Регистрация: 21.11.2019
Сообщений: 1
По умолчанию Pic16F628A и RS232

Задача : управление с компьютера, программой на Lazaruse, 16-ю реле.
Контроллер на PIC 16F628A , имеющий аппаратный RS232. По передачей с 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 ; Разрешение приема

Последний раз редактировалось MSergej; 21.11.2019 в 11:15.
MSergej вне форума Ответить с цитированием
Старый 21.11.2019, 17:31   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Ох ... асм.. А чего не С?? Mlabx имеет достаточно компиляторов.
И головной боли станет меньше.
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 29.12.2021, 05:39   #3
Nif-naf
Форумчанин
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 131
Лампочка

У тебя при передаче прерывание. Всего кода нет. А на скорую руку
Код:
org0
goto s
org4 
retfie
s
Немного о GoAsm.

Последний раз редактировалось Nif-naf; 29.12.2021 в 08:02.
Nif-naf вне форума Ответить с цитированием
Старый 02.06.2022, 14:15   #4
Nif-naf
Форумчанин
 
Аватар для Nif-naf
 
Регистрация: 05.09.2016
Сообщений: 131
По умолчанию

У програмы две ошибки
Код:
movf out,0 u banksel txsta
исправь, а дальше отпишись
Немного о GoAsm.

Последний раз редактировалось Nif-naf; 02.06.2022 в 14:18.
Nif-naf вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с RS232 в DELPHI 100GRamm Общие вопросы Delphi 9 17.09.2021 00:18
Шлейф RS232 VeraYu Компьютерное железо 34 01.03.2017 17:04
Com port (RS232) Pavlov_yu C++ Builder 14 18.06.2014 19:12
программа Delphi RS232-Excel mxroman Общие вопросы Delphi 1 05.12.2011 08:34