Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Регистр предделителя.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Oleg_IT
ATMega48. По умолчанию значение регистра предделителя CLKPR равно 3, т.е. частота осциллятора делится на 8. Ставлю значение CLKPR равным 0x 0, равным 0x81 (старший бит Enable), но всё равно при считывании значение равно 3. И работает процессор на соответствующей частоте. Может я ещё где чего поставить забыл?
damir2
Остановка всех предделителей - "1" в TSM.Последующий запуск осуществляется записью "0" в TSM.
Oleg_IT
Цитата(damir2 @ Sep 14 2005, 15:47)
Остановка всех предделителей - "1" в TSM.Последующий запуск осуществляется записью "0" в TSM.
*


Прошу прощение, но регист TSM относится к таймерам, а у меня вопрос по предделителю системной частоты, от которой работает весь МК.
damir2
...извиняюсь,переврал из-за спешки.
BVU
Цитата(damir2 @ Sep 14 2005, 15:47)
Остановка всех предделителей - "1" в TSM.Последующий запуск осуществляется записью "0" в TSM.
*


Для изменения предделителя в регистре CLKPR: Bit 7 – CLKPCE должен быть установлен в логическую удиницу ("1"). А Bits 3..0 – CLKPS3..0 задают значение делителя (Table 6-14.). Внимательно читайте фирменное описание. smile.gif
Поробуйте сначала установить 0x80, а потом уже 0x8_.
damir2
Для изменения разрядов CLKPS следует записать в разряд CLKPCE "1",а в разряды CLKPS-"0". Затем в течении следующих 4-х машинных циклов занести требуемое значение в CLKPS,при этом CLKPCE будет сброшен. ...чуток не успел.На всякий случай ,в процессе предустановки запрет прерываний.
Oleg_IT
Цитата(damir2 @ Sep 14 2005, 16:23)
Для изменения разрядов CLKPS следует записать в разряд CLKPCE "1",а в разряды CLKPS-"0". Затем в течении следующих 4-х машинных циклов занести требуемое значение в CLKPS,при этом CLKPCE будет сброшен.
*



В моём вопросе восьмерка выпала
- Ставлю значение CLKPR равным 0x80, равным 0x81 (старший бит Enable).
Но после записи 0x80, читаю 0x83.

Всё, разобрался, получилось. В два захода нужно было писать.
Спасибо!
BVU
Цитата(Oleg_IT @ Sep 14 2005, 16:35)
Цитата(damir2 @ Sep 14 2005, 16:23)
Для изменения разрядов CLKPS следует записать в разряд CLKPCE "1",а в разряды CLKPS-"0". Затем в течении следующих 4-х машинных циклов занести требуемое значение в CLKPS,при этом CLKPCE будет сброшен.
*



В моём вопросе восьмерка выпала
- Ставлю значение CLKPR равным 0x80, равным 0x81 (старший бит Enable).
Но после записи 0x80, читаю 0x83.

Всё, разобрался, получилось. В два захода нужно было писать.
Спасибо!
*



Ну наконец-то! Вам же ясно ответили что:
Поробуйте сначала установить 0x80, а потом уже 0x8_ .
Для того чтобы сменить значение, Bit 7 – CLKPCE должен быть заранее разрешен... а не в процессе изменения! wink.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.