Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ATtiny261 + Timer 0
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
ManCar
Не получается запустить на счет таймер 0 в ATTiny461. Перепробовал AVRStudio от 4.12 до 4.14 со всеми возможными сервиспаками. Тестовый код зашитый в чип также не дал результата:
Pdf перечитал уже не один раз, не пойму что не так. С таймером 1 все в порядке...

.include "tn461def.inc"

.def a = r16
;вектора используемых прерываний
rjmp Main
nop
nop
nop

nop
nop
rjmp IntTOV0

Main:
sei ;разрешаем прерывания
sbi DDRA,PA0 ;пин на выход

ldi a,0
out TCCR0A,a

ldi a,1
out TCCR0B,a ;пуск без делителя частоты

ldi a,(1<<TOIE0)
out TIMSK,a ;разрешить прерывание переполнения

;бесконечный цикл
loop:
rjmp loop

;обработчик прерывния переполнения таймера 0
IntTOV0:
sbi PortA,PA0
nop
nop
nop
cbi PortA,PA0
reti
Палыч
Коль используете прерывания - не забывайте инициализировать стек!
ManCar
to Палыч

Вы совершенно правы, когда писал пример, совершенно случайно забыл вписать после метки Main следующие строчки кода:
ldi a,low(ramend)
out SPL,a
ldi a,high(ramend)
out SPH,a
но в данном случае ничего не меняется, поскольку прерывание наступить не может: Таймер 0 как не хотел работать, так и не работает, причем без видимых на то причин.
Александр Куличок
AVRStudio -> Help -> Simulator -> Known Issues -> Notes for ATTiny261/461/861:

Timer/Counter 0 and Timer/Counter 1 are not simulated.

The ADC noise reduction function is not supported. Setting the ADIF flag will not wake the CPU from sleep mode. The initial dummy conversion after enabling ADC is not simulated.

The Watchdog is not simulated.
V000va
В догонку: тут вот есть простая и понятная обучалка по таймеру, с примерами программ.

http://www.radiokot.ru/start/mcu_fpga/avr/11/
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.