Проблемы с компиляцией.

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Проблемы с компиляцией.

Сообщение otest »

перед выходом из прерывания нужно восстановить регистры. вместо RETFIE где я пометил надо GOTO beg1 а там и выход.
Реклама
Аватара пользователя
Rimsky
Грызет канифоль
Сообщения: 299
Зарегистрирован: Вт июн 15, 2010 07:16:42
Откуда: Иркутск
Контактная информация:

Re: Проблемы с компиляцией.

Сообщение Rimsky »

Может кто подскажет (кто разбирался), что это за процедура? :shock:


; clrf ANSEL ;Включение вводов как цифровые

movlw B'10000000'
movwf OSCCAL^90h


bcf STATUS,5 ;Выбор банка 0
movlw B'10100000' ;Прерывание по переполнению таймера

Я обычно делаю так

Код: Выделить всё

RESET:
	call	0x3FF
	banksel	OSCCAL	
	movwf	OSCCAL
	goto	INIT_MPU
Реклама
Аватара пользователя
Rimsky
Грызет канифоль
Сообщения: 299
Зарегистрирован: Вт июн 15, 2010 07:16:42
Откуда: Иркутск
Контактная информация:

Re: Проблемы с компиляцией.

Сообщение Rimsky »

И вообще-то вектор сброса по нулевому адресу .org 0x00, а не .org 0x01 !!!
Аватара пользователя
К@Т
Говорящий с текстолитом
Сообщения: 1573
Зарегистрирован: Сб окт 09, 2010 12:33:48
Откуда: Незалежная

Re: Проблемы с компиляцией.

Сообщение К@Т »

Все замечания исправил,но не работает!При подаче питания он сразу задирает 6(gp1) ногу(вкл.зумер),и 4(gp3) ногу опускает(хотя это вход).Кароче два входа(5(gp2) и 4(gp3) ноги начинают принимать код еслi на 2(gp5) ноге единица,если код верен должна подниматса 7(gp0) нога,если не верен то 6(gp1),а если 5 раз неверен то поднимаетса 3(gp4) нога.Помогите найти ошибки.
Вложения
k.rar
(3.45 КБ) 133 скачивания
У кошки 4 ноги и хвост-плюс,минус,вход,выход,а хвост-земля.....Надо переходить с китайской бурды на канифоль.......[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x60.gif[/img][/url]
Реклама
Эиком - электронные компоненты и радиодетали
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Проблемы с компиляцией.

Сообщение otest »

у вас описание в #define не соответствует конфигурации
С банками в разделе pusk тоже не дружите ( а я обрашал ваше внимание)
call SIR01 ;При включении сирена вкл. 3 раза.
вы сами её включаете.
***************************************
movlw ZAD3 ;Записываем в регистр
movwf DOP3 ;задержки 3 сек.
bsf zad3 ;Устанавливаем флаг 3 сек.
bcf zadv3 ;Сбрасываем флаг вкл. таймера 3 сек.
int3 btfss zadv10 ;Команда включения таймера 10 сек. есть ?
retfie ;Нет
decfsz DOP10,f ;Да. -1 и если =0 пропускаем следующуюю команду.
retfie ;Нет.
********************
выход по RETFIE попрежнему без восстановления регистров
при входе в обработчик прерываний нужно запрещать прерывания и разрешать когда пройдут нужные процедура. У вас прога в постоянной обработке прерываний.
Реклама
Аватара пользователя
К@Т
Говорящий с текстолитом
Сообщения: 1573
Зарегистрирован: Сб окт 09, 2010 12:33:48
Откуда: Незалежная

Re: Проблемы с компиляцией.

Сообщение К@Т »

Писал сбодуна(поэтому много красоты),а теперь никак разобратса немогу в этом творении.
call SIR01 ;При включении
сирена вкл. 3 раза.
вы сами её включаете.
Она должна 3 раза включитса и 3 раза выключитса,а в реале она включаетса и не выключаетса.
у вас описание в #define не
соответствует конфигурации
С банками в разделе pusk
тоже не дружите
А вчём ошибка собсенно?
У вас прога в
постоянной обработке
прерываний .
Ничего не понял.
У кошки 4 ноги и хвост-плюс,минус,вход,выход,а хвост-земля.....Надо переходить с китайской бурды на канифоль.......[url=http://infobar.hsdn.org/][img]http://static.hsdn.org/infobar/350x60.gif[/img][/url]
Реклама
otest
Друг Кота
Сообщения: 7853
Зарегистрирован: Ср фев 11, 2009 20:35:58

Re: Проблемы с компиляцией.

Сообщение otest »

Она должна 3 раза включитса и 3 раза выключитса,а в реале она включаетса и не выключаетса.
потом наступает прерывание по таймеру которое никогда не заканчивается
А вчём ошибка собсенно?
дело батя в следующем
;**************************************************************
; Bходные сигналы
#define kn0 GPIO,3 ;Кодовая кн.=0 ВХОД
#define kn1 GPIO,2 ;Кодовая кн.=1 ВХОД НАСТРОЕН НА ВЫХОД
#define zam GPIO,5 ;замок зажиг1. ВЫХОД
#define blok GPIO,0 ;Сигнал блокировки двиг. ВЫХОД
#define sirena GPIO,4 ;Сирена ВЫХОД НАСТРОЕН НА ВХОД
#define zum GPIO,1 ;Зуммер. ВЫХОД НАСТРОЕН НА ВХОД
;******************************************************
movlw B'011010' ;W=
movwf TRISIO ;RAO-RB4 вход
************************************************************
Ничего не понял.
здесь важно понимать как войти в прерывание и как выйти из него чтобы там не зависнуть
Аватара пользователя
Rimsky
Грызет канифоль
Сообщения: 299
Зарегистрирован: Вт июн 15, 2010 07:16:42
Откуда: Иркутск
Контактная информация:

Re: Проблемы с компиляцией.

Сообщение Rimsky »

Если плаваете в банках, мой Вам совет пишите дерективу вот так:

banksel ANSEL
clrf ANSEL

banksel PORTB
clrf PORTB

и т.д.

Пусть где-то перебор, но зато не надо париться, а захотите оптимизировать код лишнее поубираете.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»