Страница 2 из 2

Добавлено: Вт окт 03, 2006 12:09:50
Serega
Я хотел понять, где Вы узрели в моем тексте метку TIMER1COMPBaddr...

Добавлено: Вт окт 03, 2006 12:33:07
CyberMerlin
ах это...
это я по аналогии с Вашим, взял свой
вот и вся разница
как ослика не назови, все равно повезет куда надо :)

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

Добавлено: Ср окт 04, 2006 16:22:13
CyberMerlin
тогда не пойму смысл вообще прописанный в обучалке
Дело-то в том, что там говорил о векторе прерывании, который, то так и иназывается
брррр вообще запутался
К чем убыло тогда писать
что такое - Interrupt Vectors - Вектора Прерываний? А это ни что иное, как указатели на адрес ПЗУ, на который мы переходим в результате прерывания.Все векторы расположены в самом начале адресного пространства, и занимают первые 11 адресов ПЗУ (с $000 по $00A). Это прекрасно видно из таблицы. То есть, если мы, скажем, хотим активизировать прерывание Timer1_comp1, то мы должны по адресу $004 поставить ссылку на подпрограмму - обработчик этого прерывания. А вообще, лучше расставить в начале программы ссылки на все прерывания
и затем вписывать косвенные прыжки на метки соответствующие??
дело-то в том, что в инклюде как раз описана метка и АДРЕС ее нахождения, т.е. грубая аналогия .def.
Из обучалки складывается мнение, что нужно тогда в инклюде это "именование" УДАЛИТЬ.

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

Добавлено: Чт окт 05, 2006 13:03:35
CyberMerlin
Серега ПЕРЕДЕЛАЙ ОБУЧАЛКУ И ПРИМЕР ПРИКРЕПЛЕННЫЙ В НЕЙ

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

.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