реклама на сайте
подробности

 
 
> ATtiny261 + Timer 0, не удается запустить на счет
ManCar
сообщение Jun 26 2008, 09:51
Сообщение #1





Группа: Новичок
Сообщений: 2
Регистрация: 9-08-05
Из: Украина, Харьков
Пользователь №: 7 469



Не получается запустить на счет таймер 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


--------------------
Если программа заработала с первого раза -
значит вы где-то о-очень серьезно ошиблись :)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 4)
Палыч
сообщение Jun 26 2008, 14:03
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Коль используете прерывания - не забывайте инициализировать стек!
Go to the top of the page
 
+Quote Post
ManCar
сообщение Jun 27 2008, 05:04
Сообщение #3





Группа: Новичок
Сообщений: 2
Регистрация: 9-08-05
Из: Украина, Харьков
Пользователь №: 7 469



to Палыч

Вы совершенно правы, когда писал пример, совершенно случайно забыл вписать после метки Main следующие строчки кода:
ldi a,low(ramend)
out SPL,a
ldi a,high(ramend)
out SPH,a
но в данном случае ничего не меняется, поскольку прерывание наступить не может: Таймер 0 как не хотел работать, так и не работает, причем без видимых на то причин.

Сообщение отредактировал ManCar - Jun 27 2008, 05:07


--------------------
Если программа заработала с первого раза -
значит вы где-то о-очень серьезно ошиблись :)
Go to the top of the page
 
+Quote Post
Александр Куличо...
сообщение Jun 27 2008, 06:46
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 6-03-06
Из: Украина, г. Винница
Пользователь №: 15 017



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.
Go to the top of the page
 
+Quote Post
V000va
сообщение Jul 1 2008, 17:39
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 87
Регистрация: 23-06-08
Пользователь №: 38 503



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

http://www.radiokot.ru/start/mcu_fpga/avr/11/
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 06:12
Рейтинг@Mail.ru


Страница сгенерированна за 0.01351 секунд с 7
ELECTRONIX ©2004-2016