Ясно, и где такой кварц взять? и работают ли AVR НА ТАКОЙ ЧАСТОТЕ?
Если ATMega48/ATMega88/ATMega168 работают на частотах от 0 до 16 МГц у ATMega48/ATMega88/ATMega168
Друг, мы наверно не поняли друг друга
частота ШИМ =тактовая частота таймера/510,
где 510 для 8-битного счетчика
Итого, для 100КгЦ шим имеем 100КгЦ*510=51 МГЦ МНОГОВАТО БУДЕТ!!!!
Спрашивается и как быть??? как оптимально подобрать кварц?
tych писал(а):
Пример исходников ШИМ на Тини261 есть на стр. 7 в курсе по AVR - см. AVR449
ДА,ДА-ЭТО Я ВАМ ГОВОРЮ (Шутька )
Спасибо за дельный совет ARV,и tych тоже спасибо решено использовать 6-разрядный счетчик. тогда(без предделения частоты) получается частота 12,6 МГц, но вот проблемка, таких кварцев я не нашел, самый ближайший на 12,613 МГц, как быть? Посоветуйте пожалуйста
Решено:
взять кварц на 12 МГц;
предделения частоты не используем;
используем 6-битный таймер-счетчик;
считать счетчик будет от 0...60 (61 импульс) и обратно 59...1 (59 импульс) (кол-во импульсов счета за период=120);
тогда частота ШИМ=12 МГц/120=100 кГц
физтеховиц писал(а):Уважаемые, подскажите как организовать таймер-счетчик так, чтобы он считал не до $FF и обратно, а , скажем, до 61 и обратно???? Возможно ли это???
Возможно ! Примеры в задачах 6 и 13.
Думайте сами, решайте сами ... а вот он-лайн перевод на корявый русский http://translate.ru
Контроллерами занимаюсь совсем недавно и есть такой вопрос к гуру программирования. Сначала выбрал Bascom-basic, как наиболее простой в освоении, тем более, что есть небольшой опыт в VB. Но из различных источников приходилось читать, что Си выдает один из самых компактных кодов, среди существующих языков высокого уровня.
Вот решил освоить Си в CodeVision, т.к. планируется использовать довольно сложные алгоритмы, и размер кода желательно минимизировать.
Была собрана простая схема на Атмега8535, к которой прикручен датчик
темп. DS18B20 и таймер DS1307. Для проверки были написаны две пр-ммы, одна в CV, другая в Баскоме. Обе программы используют собственные встроенные функции для работы с переферией, и реализуют одну задачу - вывод на LCD показаний датчика и таймера в форматированном виде.
Размер НЕХ-файла в Баскоме - 11423 байта, в CV - 11419 (в CV была включена максимальная оптимизация по размеру) . То-есть практически никакой разницы. При этом ИМХО программирование в бейсике намного проще. Читал так-же что код скомпилированный в Си выполняется быстрее, но это не принципиально, т.к. критичные ко времени участки все равно оформляются вставками на асме.
Так где-же истина? Или может в консерватории чего подправить
Истина в том, что нужно писать на том языке и в той среде, которая в данном конкретном случае обеспечивает оптимальные параметры решения Вашей текущей задачи. На это также можно спроецировать Ваши привычки, удобство, общественное мнение и т.д. Поэтому, что бы Вы не выбрали, всегда найдется кто-то, кто предпочтет Вашему варианту другой. Идеала нет даже в каждом отдельно взятом случае, не говоря уж о программировании вообще. Поэтому давайте остановимся на этой пессимистичной ноте, поскольку в противном случае здесь разразится очередной холивар на тему ASM vs C vs Basic и т.д. Таких тем у нас хватает, если интересно - найдете.
Надеюсь, вопрос закрыт.
CodeVisionAVR: функция sprintf - не выводит формат float
писал тут вопрос с такой темой, но меня справедливо направили в эту ветку...
Разобрался сам - Float в этой функции не работала, т.к. в настройках компилятора не стояла нужная галочка
sgarris писал(а):Так где-же истина? Или может в консерватории чего подправить
во-первых, сравнение оптимизаторов на "встроенных" функциях - смешное занятие: разумеется, все встроенные функции разработчиками оптимизированы так, чтобы быть лучше всех! скорее всего, они на асме вручную написаны... а вот вы полностью решите свою задачу на одном и другом языке, и тогда сравните, как они отреагируют на ваши "неоптимальные" функции - тогда истина, возможно, откроется.
а вообще-то, имхо, на сегодняшний день практически все компиляторы оптимизируют так, что разница будет минимальная - единицы процентов. точно так же, как разница в самих языках почти стерта: что бейсик, что Си, что паскаль - похожи, как близнецы!
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...