Обсуждаем контроллеры компании Atmel.
Ответить

Вт окт 03, 2006 12:09:50

Я хотел понять, где Вы узрели в моем тексте метку TIMER1COMPBaddr...

Вт окт 03, 2006 12:33:07

ах это...
это я по аналогии с Вашим, взял свой
вот и вся разница
как ослика не назови, все равно повезет куда надо :)

Ср окт 04, 2006 16:09:30

Не, ну просто ПО АНАЛОГИИ не есть ПО ТЕКСТУ обучалки. Просто в деф.инке оказалась метка, которую зовут так же, как и Вашу. Поэтому выход один - переобозвать метку в тексте программы. ;)

Ср окт 04, 2006 16:22:13

тогда не пойму смысл вообще прописанный в обучалке
Дело-то в том, что там говорил о векторе прерывании, который, то так и иназывается
брррр вообще запутался
К чем убыло тогда писать
что такое - Interrupt Vectors - Вектора Прерываний? А это ни что иное, как указатели на адрес ПЗУ, на который мы переходим в результате прерывания.Все векторы расположены в самом начале адресного пространства, и занимают первые 11 адресов ПЗУ (с $000 по $00A). Это прекрасно видно из таблицы. То есть, если мы, скажем, хотим активизировать прерывание Timer1_comp1, то мы должны по адресу $004 поставить ссылку на подпрограмму - обработчик этого прерывания. А вообще, лучше расставить в начале программы ссылки на все прерывания

и затем вписывать косвенные прыжки на метки соответствующие??
дело-то в том, что в инклюде как раз описана метка и АДРЕС ее нахождения, т.е. грубая аналогия .def.
Из обучалки складывается мнение, что нужно тогда в инклюде это "именование" УДАЛИТЬ.

Ежели сейчас я переименую метку TIMER1COMPBaddr , вызвавшую у меня проблемы, тогда прерывания как такогого не будет.
так получается?

Чт окт 05, 2006 13:03:35

Серега ПЕРЕДЕЛАЙ ОБУЧАЛКУ И ПРИМЕР ПРИКРЕПЛЕННЫЙ В НЕЙ
Код:
.org 0x1C00
TIMER1_COMPA:
   cli
   ldi Temp0,0      ;îáíóëåíèå òàéìåðà
   out TCNT1H,Temp0
   out TCNT1L,Temp0
   call Start
 sei
reti

Компаратор надо вставлять в таком варианте!!!!!!!!!
а кроме того надо вставлять перед
Код:
.cseg         ;íà÷àëî ïðîãðàììíîãî ñåãìåíòà
.org 0         ;íà÷àëüíûé àäðåñ 0
jmp Reset         ;ññûëêè íà ïðåðûâàíèÿ
jmp   EXT_INT0      ;   External Interrupt Request 0
jmp   EXT_INT1      ;   External Interrupt Request 1
jmp   EXT_INT2      ;   External Interrupt Request 2
jmp   PC_INT0         ;   Pin Change Interrupt Request 0
jmp   PC_INT1
jmp   TIMER3_CAPT
jmp   TIMER3_COMPA
jmp   TIMER3_COMPB
jmp   TIMER3_OVF
jmp   TIMER2_COMP
jmp   TIMER2_OVF
jmp   TIMER1_CAPT
jmp   TIMER1_COMPA
Ответить