По определенным причинам нужны три таймера в MEGA8 - 0 и 1 можно запрограмировать из Баскома.
Как запустить Т2, запрограмировать делитель и повесить на все это прерывание?
Программирование ATMEL в BASCOM. |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » Программирование ATMEL в BASCOM. » Таймеры, ШИМ и все про них » Таймер Т2 - как его запрограмировать?
По определенным причинам нужны три таймера в MEGA8 - 0 и 1 можно запрограмировать из Баскома.
Как запустить Т2, запрограмировать делитель и повесить на все это прерывание?
Вот кусок кода из реально работающего устройства
$regfile = "m8def.dat" ' говорим компилятору что у нас микропроцессор Atmega 8 $crystal = 8000000 ' говорим компилятору что процессор тактируется от генератора с частотой 8, 000 000 мегагерц Config Timer0 = Timer , Prescale = 8 'конфигурируем таймер 0 и ставим его делитель 8 Config Timer1 = Timer , Prescale = 64 Config Timer2 = Timer , Prescale = 1024 On Timer2 Pulse2 : On Timer1 Pulse1 : On Timer0 Pulse0 : 'при переполнении таймера запустить подпрограмму Pulse0 Enable Interrupts 'разрешить прерывания Enable Timer0 Enable Timer1 Enable Timer2 Do ` тело основной программы Loop Pulse0: ` подпрограмма нулевого таймера ` чето делаем Return Pulse1: ` чето делаем Return Pulse2: ` чето делаем Return
Отредактировано Pasha (2009-09-17 23:59:23)
Pasha
За ответ спасибо, только это уже пробовали и для очистки совести попробовал еще раз - ответ компилятора:Error:249 ISR already defined
Какая у тебя версия Баскома?
Только что откомпилил код, приведённый Pasha. 1.11.9.5 лицензия. Ошибок нет.
Всем спасибо, как выяснилось ограничение на 4 кб кода это не единственное ограничение официальной свободно распостраняемой демоверсии.
И после таких приколов люди еще жалуются на пиратский софт...
Вы здесь » Программирование ATMEL в BASCOM. » Таймеры, ШИМ и все про них » Таймер Т2 - как его запрограмировать?