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

 
 
> Таймеры atmega32a
ishpanec
сообщение Dec 19 2014, 09:57
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 19-12-14
Пользователь №: 84 192



Здравствуйте
Проблема возникла такая, есть у меня atmega32a китайский. постигаю таймеры. использую таймер0 (8 бит).
Логика моих мыслей такова:

если там частота 16МГц а таймер считает до 256 то каждое переполнение таймера будет происходить (1 / 16 000 000) * 256 = 16 микросекунд (0,000016).
Соответственно, что бы получить 1 секунду надо таких отрезков 62 500 (0,000016 * 62 500 = 1 сек.)
Что бы особо не мучиться с 16 битными числами я разбил на две 8 битные, т.е. 250 и 250.
Значит в прерывании по переполнению мы считаем первый счетчик, када он доходит до 250 мы увеличиваем второй и обнуляем первый.
Сразу что скажу что cksel биты не менял, они все отключены, значит частота должна быть нормальной. В коде не устанавливаю предделитель для таймера.
Внешнего кварца, как и осциллографа, не имею. замерить частоту не выходит. пробовал всю партию контроллеров (10 штук) результат один и тот же, либо у них у всех не 16 МГц, либо логика моих действий не верна.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ishpanec
сообщение Dec 21 2014, 18:19
Сообщение #2





Группа: Новичок
Сообщений: 6
Регистрация: 19-12-14
Пользователь №: 84 192



да, уже разобрался, всем спасибо за помощь!)
по умолчанию в мк и правда был 1МГц, поменял биты, рпсчитал на 8 и все заработало как надо)
Код
Table 9. Internal Calibrated RC Oscillator Operating Modes
CKSEL3..0    Nominal Frequency (MHz)
0001        1.0
0010        2.0
0011        4.0
0100        8.0
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ishpanec   Таймеры atmega32a   Dec 19 2014, 09:57
- - zombi   Цитата(ishpanec @ Dec 19 2014, 13:57) рез...   Dec 19 2014, 14:11
- - Dust112   ishpanec, Вы раздел 8-bit Timer/Counter0 with PWM...   Dec 19 2014, 14:16
- - stells   Цитата(ishpanec @ Dec 19 2014, 12:57) есл...   Dec 19 2014, 14:26
|- - demiurg1978   У меня такой способ получить 1 мс при 8 и 16 мгц: ...   Dec 19 2014, 15:10
- - akl   С точностью до такта можно временной интервал форм...   Dec 20 2014, 09:56
- - ishpanec   отвечу всем по порядку) Цитата(zombi @ Dec 1...   Dec 21 2014, 13:54
|- - ishpanec   Цитата(ishpanec @ Dec 21 2014, 14:54) не ...   Dec 21 2014, 15:17
|- - stells   Цитата(ishpanec @ Dec 21 2014, 16:54) что...   Dec 21 2014, 16:29
|- - demiurg1978   Цитата(ishpanec @ Dec 21 2014, 19:54) с С...   Dec 22 2014, 21:53
- - zombi   получается Internal Calibrated RC Oscillator 1 MHz...   Dec 21 2014, 16:06
- - akl   Ваш код дает интервал 1 секунды, за счёт сравнений...   Dec 22 2014, 04:18
- - alexeyv   Зачем для этой цели использовать 8-ми разрядный сч...   Dec 22 2014, 04:39
|- - akl   Цитата(alexeyv @ Dec 22 2014, 09:39) Не п...   Dec 22 2014, 05:57
||- - RabidRabbit   Цитата(akl @ Dec 22 2014, 08:57) Проще, к...   Dec 22 2014, 07:35
||- - akl   Цитата(RabidRabbit @ Dec 22 2014, 12:35) ...   Dec 22 2014, 09:43
||- - RabidRabbit   Цитата(akl @ Dec 22 2014, 12:43) По мне, ...   Dec 23 2014, 08:47
|- - ishpanec   Цитата(alexeyv @ Dec 22 2014, 05:39) Не п...   Dec 22 2014, 12:43
- - akl   Каждое прерывание Т0, в котором дополнительно чист...   Dec 22 2014, 14:03
|- - ishpanec   Цитата(akl @ Dec 22 2014, 15:03) в которо...   Dec 22 2014, 14:47
- - akl   Да, действительно, период будет 256*30821=7890176/...   Dec 24 2014, 03:17
- - RabidRabbit   Я одного не понимаю, после первого переполнения в ...   Dec 24 2014, 11:17


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

 


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


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