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

 
 
> Tiny2313 нужна 1 сек. на таймер 0, "Уходит" время :(
AndryG
сообщение Jul 8 2007, 19:46
Сообщение #1


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

Группа: Свой
Сообщений: 139
Регистрация: 23-05-05
Из: UA
Пользователь №: 5 317



Доброго времени суток.

Контроллер - Tiny2313
Частота - 8МГц
Компилятор - CVAVR 1.25.2b1

Одна из функций устройства - подсчет текущего времени.
Используется таймер 0 (второй уже недоступен).
Прерывание по совпадению и автоматическая очистка счетчика при условии сравнения.
С предделителем 256 получаю частоту прерыания ровно 125Гц (64000 тактов)
И в прерывании делитель ставлю на 125.

Вроде всё верно, но за 8,5 часов часики удрали на 4 секунды sad.gif
Устройство активно работает с внутренней EEPROM.

Вот тут и начинаются вопросы ...
- если прерывание таймера возникает при их глобальном запрещении, или выполнении "длинных" команд,
то прерывание вызовется с задержкой ... сбивается ли при этом счетчик циклов в таймере?
- кто что может посоветовать?

_____
P.S.
Запскал HEX в Студии ... ставлю точку останова на вектор прерывания ...
прерывание вызывается каждые 64000 такта ... почти всегда, иногда выскакивает 64001 или
64002 - видать из-за длительных команд ... но потом всё выравнимается.
Правда симуляцию я запускал максимум на секунду - на моем компе на это около 30 минут :-)
А может это такая точность кварца? Слабо верится. Да! фузы верно настроены - проверял уже.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Elegorod
сообщение Jul 10 2007, 14:17
Сообщение #2


Участник
*

Группа: Новичок
Сообщений: 17
Регистрация: 2-02-07
Пользователь №: 24 993



Цитата
Посмотрите же даташит на t2313 наконец.

Всем еще раз нужно заглянуть в datasheet на ATtiny2313.
На рисунке "Figure 31. CTC Mode, Timing Diagram" видно, когда "OCnx Interrupt Flag Set." Надписи "TOVn Interrupt Flag Set" вообще нет, так как прерывание по переполнению никогда не срабатывает.
В конце секции читаем:
Цитата
As for the Normal mode of operation, the TOV0 Flag is set in the same timer clock cycle that the counter counts from MAX to 0x00.

MAX = 255
Если OCR0A < 255, счетчик никогда не досчитывает до 255.

Непонятно, каким образом прерывание вообще вызывается. Может, компилятор оптимизирует
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 10 2007, 14:28
Сообщение #3


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(Elegorod @ Jul 10 2007, 17:17) *
В конце секции читаем:

MAX = 255

Это опечатка в даташите. Там должно быть:

TOP = 255
BOTTOM = 0
MAX = максимально достижимое значение определяемое OCR0A
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jul 10 2007, 14:33
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(defunct @ Jul 10 2007, 22:28) *
Это опечатка в даташите. Там должно быть:

TOP = 255
BOTTOM = 0
MAX = максимально достижимое значение определяемое OCR0A
Oxo smile.gif Это кто кроме Вас сказал? Во всех даташитах чтоль???


--------------------
Go to the top of the page
 
+Quote Post
defunct
сообщение Jul 10 2007, 14:38
Сообщение #5


кекс
******

Группа: Свой
Сообщений: 3 825
Регистрация: 17-12-05
Из: Киев
Пользователь №: 12 326



Цитата(prottoss @ Jul 10 2007, 17:33) *
Oxo smile.gif Это кто кроме Вас сказал? Во всех даташитах чтоль???

Вы уже посмотрели прикрепленный тест?
В железе он ведет себя точно также как в симуляторе.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- AndryG   Tiny2313 нужна 1 сек. на таймер 0   Jul 8 2007, 19:46
- - AndreyKeil   Цитата(AndryG @ Jul 9 2007, 01:46) Реж...   Jul 8 2007, 20:09
|- - defunct   Цитата(AndreyKeil @ Jul 8 2007, 23:09) Кв...   Jul 8 2007, 21:18
|- - singlskv   Цитата(defunct @ Jul 9 2007, 01:18) Это т...   Jul 8 2007, 22:12
- - GetSmart   Тоже думаю, что виновата не программа, а точность ...   Jul 8 2007, 22:18
|- - singlskv   Цитата(GetSmart @ Jul 9 2007, 02:18) Прич...   Jul 8 2007, 22:27
- - prottoss   Мдя... И никто не сказал, что уход то из-за того, ...   Jul 9 2007, 00:09
|- - singlskv   Цитата(prottoss @ Jul 9 2007, 04:09) Мдя....   Jul 9 2007, 00:39
|- - ae_   Цитата(prottoss @ Jul 9 2007, 09:09) Мдя....   Jul 9 2007, 00:47
|- - prottoss   Цитата(ae_ @ Jul 9 2007, 08:47) Начал отв...   Jul 9 2007, 10:42
- - AndryG   Спасибо всем за ответы. Вчера весь день был на объ...   Jul 10 2007, 05:28
|- - prottoss   Цитата(AndryG @ Jul 10 2007, 13:28) Спаси...   Jul 10 2007, 10:27
|- - defunct   Цитата(prottoss @ Jul 10 2007, 13:27) Как...   Jul 10 2007, 10:44
||- - prottoss   Цитата(defunct @ Jul 10 2007, 18:44) OCR0...   Jul 10 2007, 10:49
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 09:27) Че ...   Jul 10 2007, 11:21
|- - prottoss   Цитата(=GM= @ Jul 10 2007, 19:21) Вы сами...   Jul 10 2007, 11:31
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 10:31) ......   Jul 10 2007, 12:07
|- - prottoss   Цитата(=GM= @ Jul 10 2007, 20:07) Вы хоти...   Jul 10 2007, 12:29
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 11:29) Я х...   Jul 10 2007, 12:40
|- - prottoss   Цитата(=GM= @ Jul 10 2007, 20:40) Да отку...   Jul 10 2007, 13:14
|- - defunct   Цитата(prottoss @ Jul 10 2007, 16:14) Я н...   Jul 10 2007, 13:19
||- - prottoss   Цитата(defunct @ Jul 10 2007, 21:19) Это ...   Jul 10 2007, 13:31
||- - defunct   Цитата(prottoss @ Jul 10 2007, 16:31) Да ...   Jul 10 2007, 14:20
||- - prottoss   Цитата(defunct @ Jul 10 2007, 22:20) В те...   Jul 10 2007, 15:05
||- - defunct   Цитата(prottoss @ Jul 10 2007, 18:05) Из...   Jul 10 2007, 16:09
||- - =GM=   Цитата(prottoss @ Jul 10 2007, 14:05) ДА ...   Jul 10 2007, 16:13
||- - prottoss   Цитата(=GM= @ Jul 11 2007, 00:13) А як же...   Jul 10 2007, 16:15
||- - defunct   Цитата(=GM= @ Jul 10 2007, 19:13) Не сбра...   Jul 10 2007, 16:21
||- - prottoss   Цитата(=GM= @ Jul 11 2007, 00:13) Не сбра...   Jul 10 2007, 16:38
||- - =GM=   Цитата(prottoss @ Jul 10 2007, 16:38) Бли...   Jul 10 2007, 22:35
||- - prottoss   Цитата(=GM= @ Jul 11 2007, 06:35) Здравст...   Jul 11 2007, 11:06
||- - SasaVitebsk   Цитата(=GM= @ Jul 11 2007, 01:35) Ну тепе...   Jul 12 2007, 22:30
||- - defunct   Цитата(SasaVitebsk @ Jul 13 2007, 01:30) ...   Jul 12 2007, 22:40
||- - =GM=   Цитата(SasaVitebsk @ Jul 12 2007, 21:30) ...   Jul 13 2007, 10:31
||- - SasaVitebsk   Цитата(=GM= @ Jul 13 2007, 13:31) Саша, у...   Jul 13 2007, 16:18
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 12:14) Ну ...   Jul 10 2007, 14:55
|- - =GM=   Цитата(prottoss @ Jul 10 2007, 12:14) Ну ...   Jul 10 2007, 15:10
|- - prottoss   Цитата(=GM= @ Jul 10 2007, 23:10) Про изв...   Jul 10 2007, 15:15
- - defunct   Цитата(AndryG @ Jul 10 2007, 08:28) Вот с...   Jul 10 2007, 09:59
- - defunct   ЦитатаНо у парня прерывание не по совпадению с OCR...   Jul 10 2007, 12:54
|- - prottoss   Цитата(Elegorod @ Jul 10 2007, 22:17) Все...   Jul 10 2007, 14:22
- - Elegorod   Тогда и в тексте описания ошибки, и во всем раздел...   Jul 10 2007, 14:34
- - kada   Вполне возможно, что дело в кварце. Столкнулись с ...   Jul 10 2007, 14:39
- - AndryG   Почитал я ветку ... и понял, что сейчас мне на оре...   Jul 11 2007, 05:25
- - олесь   Все верно,если на кварце 8.000, то частотомер, нап...   Jul 12 2007, 19:31
|- - singlskv   Цитата(олесь @ Jul 12 2007, 23:31) Все ве...   Jul 12 2007, 20:59
- - defunct   ЦитатаА вот всем вам вопрос на засыпку: зачем введ...   Jul 13 2007, 10:44
|- - =GM=   Цитата(defunct @ Jul 13 2007, 09:44) ЧИМ ...   Jul 13 2007, 11:31
|- - prottoss   Цитата(=GM= @ Jul 13 2007, 19:31) Это как...   Jul 13 2007, 11:53
|- - =GM=   Цитата(prottoss @ Jul 13 2007, 10:53) ШИМ...   Jul 13 2007, 15:23
|- - prottoss   Цитата(=GM= @ Jul 13 2007, 23:23) Мне каз...   Jul 13 2007, 15:38
|- - =GM=   Цитата(prottoss @ Jul 13 2007, 14:38) Я п...   Jul 13 2007, 16:33
|- - prottoss   Цитата(=GM= @ Jul 14 2007, 00:33) Ну хотя...   Jul 13 2007, 16:45
|- - =GM=   Цитата(prottoss @ Jul 13 2007, 15:45) Это...   Jul 13 2007, 21:38
|- - defunct   Цитата(=GM= @ Jul 14 2007, 00:38) 2) Где ...   Jul 13 2007, 22:27
|- - =GM=   Цитата(defunct @ Jul 13 2007, 22:27) Реги...   Jul 14 2007, 21:03
|- - defunct   Цитата(=GM= @ Jul 15 2007, 00:03) Ерунду ...   Jul 14 2007, 22:39
|- - =GM=   To defunct. Кажется понял наконец корень всех затр...   Jul 15 2007, 10:45
|- - prottoss   Цитата(=GM= @ Jul 15 2007, 18:45) то не в...   Jul 15 2007, 12:33
|- - =GM=   Цитата(prottoss @ Jul 15 2007, 12:33) При...   Jul 15 2007, 13:34
|- - defunct   Цитата(=GM= @ Jul 15 2007, 16:34) Слова в...   Jul 15 2007, 15:53
|- - =GM=   Цитата(defunct @ Jul 15 2007, 15:53) Пере...   Jul 15 2007, 16:43
|- - defunct   Цитата(=GM= @ Jul 15 2007, 19:43) Перечит...   Jul 15 2007, 22:04
- - GetSmart   Цитата(=GM=)Саша, у меня пара вопросов к вам, не з...   Jul 13 2007, 13:53


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

 


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


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