roboforum.ru

Технический форум по робототехнике.

fuse CKDIV8 tyni2313

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

fuse CKDIV8 tyni2313

Сообщение Гость » 18 авг 2007, 10:46

в даташите говорится при выставлении CKDIV8=0 частота генератора делится на 8 (divide clock by 8 ), балуюсь с внутренним генератором, написал простецкую програмку

Код: Выделить всёРазвернуть
while (1)
{
   PORTD.4 =0;   // зажигаю светодиод
   delay_ms(1000);
   PORTD.4 =1;   // гашу светодиод
   delay_ms(1000);
};


программирую для частоты 4 Мгц диод на PORTD.4 нормально мигает с интервалом в 1 сек
далее балуюсь только fuse-ми

fuse CKSEL3-0: 0100 (8Мгц) CKDIV8=1 мигаем с интервалом 0,5 сек, ожидалось 0,5 сек
fuse CKSEL3-0: 0100 (8Мгц) CKDIV8=0 (/8 ) мигаем с интервалом 0,5 сек, ожидалось 4 сек
fuse CKSEL3-0: 0010 (4Мгц) CKDIV8=1 мигаем с интервалом 1 сек, ожидалось 1 сек
fuse CKSEL3-0: 0010 (4Мгц) CKDIV8=0 (/8 ) мигаем с интервалом 1 сек, ожидалось 8 сек

что делаю не так?? прошиваю fuse, что в кодевижине, что в пони прог результат одинаковый
Гость
 

Сообщение avr123.nm.ru » 18 авг 2007, 12:17

А в свойствах проекта частоту меняете ???
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение rig » 18 авг 2007, 13:00

нет конечно, хочу увидеть как влияет CKDIV8 на тактовую частоту, похоже что совсем не влияет. хотя в даташите упоминается как выставляется частота в 1 МГц на заводе: ставят 8 Мгц и делят на 8 этим фузом.
я хочу выставить минимальную частоту для работы USART  1200 Бод (для снижения энергопотребления), при вн генераторе в 128 КГц большая ошибка. конечно можно поставить и кварц, но вот разобраться всеже хочется.
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Сообщение rig » 18 авг 2007, 13:55

похоже я нашел где искать, Clock preskaler select всему виной, если сбросить  CKDIV8 делитель сбрасывается на 0 если устаносить то делитель должен сбрасываеться в 0011, что соответствует делению на 8. осталось только считать установки Clock praskaler select
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Сообщение rig » 18 авг 2007, 16:02

прикольно, сам с обой разговариваю,
короче целый день убил на этот fuse
и пришел к выводу что CKDIV8 влияет только при запуске МК - частота делится на 8 - должно использоваться на высоких частотах(стр 31 даташита tiny2313)
если надо частоту ниже чем стоит кварц то делаем так (стр 30 ДШ)

Код: Выделить всёРазвернуть
CLKPR=0b10000000; // 7 бит в 1, остальные в 0 - сбрасываем регистр делителя частоты
CLKPR=0b00000011; // 7 бит в 0, остальными кодируем делитель из даташита (к примеру деление на 8)


можно делить на 1/2/4/8/16/32/64/128/256 о как!!
можно занести в фак, поиск в инете ни чего не дал , экспериментировал на меге 168 и тини 2313
8)

пример на практике, выставил  1 мегагерц внешний кварц, делитель на 4
Код: Выделить всёРазвернуть
CLKPR=0b10000000;
CLKPR=0b00000010;

USART на 1200 общается нормально, потребление МК по таблице <0,2mА
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Сообщение avr123.nm.ru » 18 авг 2007, 18:15

В мастере CVAVR можешь поменять установки и посмотреть готовый код изменения делителя.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение rig » 18 авг 2007, 22:55

avr123.nm.ru писал(а):В мастере CVAVR можешь поменять установки и посмотреть готовый код изменения делителя.

в какой закладке, я даже не подумал что такое есть в CVAVR.
в 123... не встречалось или не внимательно читал. вообщето все напрасно как оказалось, ds1821  отказался работать на таких частотах, ему подавай 1 МГц и выше, странно на 4-х АКб напряжение 5,3 В датчик выдает 210 гр С с копейками, если ставить 8 МГц то все нормально - 26-27 было, или через 5 Вольтовый стабилизатор на 1 МГц тоже хорошо работает. Хотя по ДШ допустимо 5,5 Вольт.И всетаки интересно , наверно возьму тиньку и попробую ее на заводских установках если там 1 МГц как обещают или это только влияет на режим программирования. то с чем балуюсь повидали много, с декабя сижу на МК :)
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Сообщение avr123.nm.ru » 18 авг 2007, 23:14

rig писал(а):
avr123.nm.ru писал(а):В мастере CVAVR можешь поменять установки и посмотреть готовый код изменения делителя.

в какой закладке, я даже не подумал что такое есть в CVAVR.


Наверно в "chip"
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Сообщение rig » 20 авг 2007, 22:14

дошло почему я не видел этой функции, тренировался на меге 16 у которой в принципе нет такой опции
Аватара пользователя
rig
 
Сообщения: 1437
Зарегистрирован: 03 авг 2007, 19:43
Откуда: Екатеринбург
прог. языки: Си, асм со словарем

Сообщение avr123.nm.ru » 20 авг 2007, 22:33

Слава богу !    :lol:
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7