как сконфигурировать таймер?? (срочненько

Обсуждаем контроллеры компании Atmel.
Ответить
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Я хотел понять, где Вы узрели в моем тексте метку TIMER1COMPBaddr...
Лучше быть первым в деревне, чем вторым в Риме
Реклама
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)

Сообщение CyberMerlin »

ах это...
это я по аналогии с Вашим, взял свой
вот и вся разница
как ослика не назови, все равно повезет куда надо :)
Контактная информация:
Реклама
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1529
Зарегистрирован: Пн авг 22, 2005 21:02:22
Откуда: Питер

Сообщение Serega »

Не, ну просто ПО АНАЛОГИИ не есть ПО ТЕКСТУ обучалки. Просто в деф.инке оказалась метка, которую зовут так же, как и Вашу. Поэтому выход один - переобозвать метку в тексте программы. ;)
Лучше быть первым в деревне, чем вторым в Риме
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)

Сообщение CyberMerlin »

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

Ежели сейчас я переименую метку TIMER1COMPBaddr , вызвавшую у меня проблемы, тогда прерывания как такогого не будет.
так получается?
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 138
Зарегистрирован: Пн сен 18, 2006 13:39:03
Откуда: Попуа Новой Гвинеи (Зимбабва)

Сообщение 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
Контактная информация:
Реклама
Ответить

Вернуться в «AVR»