Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
31.10.2007, 15:55
|
|
Частый гость
Регистрация: 17.08.2006
Сообщений: 22
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Работа Tiny2313 на половинной частоте
Контроллер работает на кварце 7.3728МГц, включены только фьюзы CKSEL0,CKSEL2 и CKSEL3, больше никаких нет.
Инициализация контроллера в программе:
CLKPR=0x00;
Вообще есть подозрение что частота контроллера пополам где то делится, 7.3728МГц/2, что подтверждает и небольшая программка мигающая светодиодом:
delay_ms(100);
if (PORTD.3) {PORTD.3=0;} else {PORTD.3=1;}
Мигание происходит никак не с частотой 10 раз в секунду, от силы 5 раз...
Подскажите кто нибудь, в чем может быть дело??
|
|
|
|
31.10.2007, 17:44
|
|
Временная регистрация
Регистрация: 13.07.2006
Сообщений: 90
Сказал спасибо: 10
Сказали Спасибо 5 раз(а) в 5 сообщении(ях)
|
Все прально - 1 цикл зажигаеешь, второй цикл гасишь - вот тебе и "от силы 5 раз"
|
|
|
|
31.10.2007, 18:29
|
|
Частый гость
Регистрация: 17.08.2006
Сообщений: 22
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от xinod
|
Все прально - 1 цикл зажигаеешь, второй цикл гасишь - вот тебе и "от силы 5 раз"
|
Нет не правильно, я считал именно события, зажегся - раз, погас - два, зажегся - три, и т.д. И таких 5 раз за секунду. (насчитал примерно 40 включений за 15 сек, это значит 80 полных проходов программы, подели 80 на 15, посмотри сколько раз в секунду)
Да что я тут разжевываю....
Почему контроллер работает на половине частоты кварца?
|
|
|
|
31.10.2007, 18:41
|
|
Вид на жительство
Регистрация: 13.05.2005
Сообщений: 386
Сказал спасибо: 9
Сказали Спасибо 44 раз(а) в 37 сообщении(ях)
|
разжевываю: включил, пауза 100мс, выключил, пауза 100мс. Итого 200мс. 1/200мс=5Гц.
Бери осциллограф и тыкайся к ножке кварца, увидишь тактовую....
|
|
|
|
31.10.2007, 19:11
|
|
Частый гость
Регистрация: 17.08.2006
Сообщений: 22
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от chapa
|
разжевываю: включил, пауза 100мс, выключил, пауза 100мс. Итого 200мс. 1/200мс=5Гц.
Бери осциллограф и тыкайся к ножке кварца, увидишь тактовую....
|
Да бог ты мой....
Эти строки зациклены
delay_ms(100);
if (PORTD.3) {PORTD.3=0;} else {PORTD.3=1;}
Верно??
Значит сколько раз за секунду они должны выполниться??? А столько сколько раз эта ПАУЗА уложится в эту секунду! 10 раз по 100мс и будет секунда! А у меня эти 2 строки всего лишь 5 раз выполняются...
И вторая причина, настроен USART на скорость 9600, а реально(проверено осциллографом) выдает 4800!!
И в чем дело, ребята?
|
|
|
|
31.10.2007, 20:41
|
|
Временная регистрация
Регистрация: 12.03.2005
Адрес: Москва
Сообщений: 61
Сказал спасибо: 42
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
У меня аналогичное чудо и на той-же модели.
Отличия:
- внутренний генератор 128кГц
- частота меньше в 4,7 раза.
Поборол подгоном счётчиков и коэф. деления.
|
|
|
|
31.10.2007, 22:21
|
|
Частый гость
Регистрация: 17.08.2006
Сообщений: 22
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от sergeyye
|
У меня аналогичное чудо и на той-же модели.
Отличия:
- внутренний генератор 128кГц
- частота меньше в 4,7 раза.
Поборол подгоном счётчиков и коэф. деления.
|
Ну так это же далеко не правильно....
У кого еще такие же случаи были??
Tiny2313 у нас что, двухтактный что ли?
|
|
|
|
31.10.2007, 23:12
|
|
Временная регистрация
Регистрация: 12.03.2005
Адрес: Москва
Сообщений: 61
Сказал спасибо: 42
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Может у нас из одной партии попались?
У меня 0624. В Москве в Чипе - Дипе покупал.
|
|
|
|
31.10.2007, 23:20
|
|
Частый гость
Регистрация: 17.08.2006
Сообщений: 22
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Все заработало!!
Все таки все дело во фьюзах. В документации написано что для работы на частоте около 8МГц с внешним кварцем, нужно выставить такие значения - CKSEL3..0=1100, что БУКВАЛЬНО означает эти значения! Меня сбил с толку CodeVision, в котором "установленными" значениями являются нулевые... Ну я галочки и расставил там где единички нужны На самом деле все с точностью до наоборот надо.
Выставил сейчас фьюз в CodeVision только CKSEL1, записал его в контроллер и вуаля, работает так как надо!
А натолкнуло меня на эту мысль то, что при замыкании ножек кварца, контроллер продолжал жить, значит он использовал внутренний генератор
Спасибо [chapa]! Твоя идея сработала
[sergeyye] проверяй фьюзы!
Всем удачи и спасибо за участие
|
|
|
|
31.10.2007, 23:22
|
|
Частый гость
Регистрация: 17.08.2006
Сообщений: 22
Сказал спасибо: 1
Сказали Спасибо 3 раз(а) в 2 сообщении(ях)
|
Сообщение от sergeyye
|
Может у нас из одной партии попались?
У меня 0624. В Москве в Чипе - Дипе покупал.
|
У меня 0650 и тоже в Московском ЧипДипе покупал
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 01:34.
|
|