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

 
 
> 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
prottoss
сообщение Jul 10 2007, 14:22
Сообщение #3


Гуру
******

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



Цитата(Elegorod @ Jul 10 2007, 22:17) *
Всем еще раз нужно заглянуть в datasheet на ATtiny2313.
На рисунке "Figure 31. CTC Mode, Timing Diagram" видно, когда "OCnx Interrupt Flag Set." Надписи "TOVn Interrupt Flag Set" вообще нет, так как прерывание по переполнению никогда не срабатывает.
В конце секции читаем:

MAX = 255
Если OCR0A < 255, счетчик никогда не досчитывает до 255.
Вот вот, и я о том же. В PWM mode, такое будет, так как счетик в любом случае достигнет MAX, то бишь 0xFF (как и указано в даташите). В СТС режиме только если OCR0A = 0xFF.


--------------------
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
|- - defunct   Цитата(Elegorod @ Jul 10 2007, 17:17) В к...   Jul 10 2007, 14:28
|- - prottoss   Цитата(defunct @ Jul 10 2007, 22:28) Это ...   Jul 10 2007, 14:33
|- - defunct   Цитата(prottoss @ Jul 10 2007, 17:33) Oxo...   Jul 10 2007, 14:38
- - 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 Текстовая версия Сейчас: 19th July 2025 - 14:46
Рейтинг@Mail.ru


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