Зарегистрирован: Чт сен 06, 2007 22:36:09 Сообщений: 185 Откуда: Санкт-Петербург
Рейтинг сообщения:0
Снова есть вопрос.
Запустил ШИМ в восьмой меге. Работает, управляется. Только вот частота маловата.
Datasheet говорит:
The PWM frequency for the output can be calculated by the following equation:
fOCnPWM= ( fclk_I/O ) / ( N*256 )
The N variable represents the prescale factor (1, 8, 32, 64, 128, 256, or 1024).
Я использую Таймер2, в настройках стоит:
Clock source: System clock
Clock value 4000.000 kHz
Mode: fast PWM top=FFh
Кварц- 4 МГц. Но при этом частота чуть меньше 4КГц. Хотя, по формуле, должна бы быть 15,625 КГц. Если точно замерять получившуюся частоту, то отношение той, что должна быть к той, что есть, дает результат 4.00хх РАЗА. А хх потому, что точности не хватает у измерителя...
Я что- то не правильно понял, или у меня где- то ошибка?
При этом таймер1 (шестнадцатиразрядный, в отличие от восьмиразряжного таймера 2) дает частоту ровно в двое меньшую. Все логично. Но вот что у меня с частотой?
Вопрос, конечно, интересный. И явно не соответствует теме "мелкие вопросы". Сканирование матричной клавиатуры - не самый простой вопрос для начинающих... Может быть уже подобная тема где-то здесь на форуме была, кроме как в обучалке?
Господа коты, а может ктонить подскажет :_ есть файл с расширением .hex Собственно вопрпос. а можно ли какой нибудь программой посматреть его исходник ??? хочу кой чего подредактировать ( попробовать)
так как в написании программ- я пока полный котёнок, вот беру проекты и играюсь авр сткудио 3.56 не получается, что то тама ошибку пишет ....
есть файл с расширением .hex Собственно вопрпос. а можно ли какой нибудь программой посматреть его исходник ??? хочу кой чего подредактировать ( попробовать)
Исходник посмотреть можно только у писАвшего, в дизасме коментариев уже нет и подредактировать там..... попробуй с этой - ReAVR
DiGiCat спасибо, программу скачал. но что то не разобраться видимо мне . ну а в целом, вопрос ясен, пасиба, Без исходника это называется как искать чёрную кошку в тёмной комнате
Помогите разобраться с алгоритмом подпрограммы adjust BSD. Это двоично-десятичное преобразование. Не могу понять почему 3 прибавляют и что такое LSD, и почему сравнивают с 7? Еще есть исходник. Командой movwf 0 из w отсылаем в ячейку памяти по адресу 0??? Что это за ячейка?
Здрасти. Прерывания Reset это ведь сброс. Если мк AvR заглючит,то он перекинет управление на начальный адрес? А там Rjmp Reset... Если на это прерывание описано переключение чего-нить,то глюк мк вызовет это переключение???
_________________ ...'@'...@.... .>Ж<>М<.. .../\..../.\.... Кто умеет делать - тот делает. Кто не умеет делать - тот учит, как надо делать. Кто не умеет учить, как надо делать - тот учит, как надо учить...
Карма: 2
Рейтинг сообщений: 11
Зарегистрирован: Пт май 23, 2008 19:32:22 Сообщений: 2401 Откуда: Россия, Волгоград
Рейтинг сообщения:0 Медали: 1
leshiy писал(а):
Если мк AvR заглючит,то он перекинет управление на начальный адрес?
это вряд ли, глюкануть он может в любом месте программы, а вот если вы хотите чтобы при глюках программа перезагружалась сама - необходимо использовать WDT.
_________________ Чем дальше, тем больше становлюсь занудой...
Ну вот и новый вопрос образовался Мне в схеме написано --- выставить фьюзы для работы от внешнего кварца, как это сделать на ATmega32? А то я обычно с мегой8 работаю или пиками........
_________________ Добрым словом и пистолетом можно добиться куда большего, чем просто добрым словом.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения