...по умолчанию (с завода) Tiny2313 работает на частоте 1МГц. Для работы на 8МГц надо снять бит CLKDIV8 в FUSE BitDC_DC писал(а):Например я выставляю в мастере частоту ШИМа на 125 Кгц. а вместо этого у меня на выходе на много меньше
CodeVision AVR в вопросах и ответах
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: CodeVision AVR в вопросах и ответах
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
8000000/256=31250.DC_DC писал(а):Даже вот когда я выставляю частоту без делителя то вместо 8 Мгц у меня всего лишь около 31 Кгц.
Это теоретический максимум частоты ШИМ при работе МК на 8МГц.
Частота тактирования таймера, используемого для ШИМ, и частота самих импульсов ШИМ - это разные вещи, отличающиеся в 256 раз (разрядность таймера, предоставляющего ШИМ).
Re: CodeVision AVR в вопросах и ответах
ChipKiller писал(а):...по умолчанию (с завода) Tiny2313 работает на частоте 1МГц. Для работы на 8МГц надо снять бит CLKDIV8 в FUSE BitDC_DC писал(а):Например я выставляю в мастере частоту ШИМа на 125 Кгц. а вместо этого у меня на выходе на много меньше
Нет фьюзы выставлены на 8 MHz от внутреннего RC-генератора.
Re: CodeVision AVR в вопросах и ответах
WiseLord писал(а):8000000/256=31250.DC_DC писал(а):Даже вот когда я выставляю частоту без делителя то вместо 8 Мгц у меня всего лишь около 31 Кгц.
Это теоретический максимум частоты ШИМ при работе МК на 8МГц.
Частота тактирования таймера, используемого для ШИМ, и частота самих импульсов ШИМ - это разные вещи, отличающиеся в 256 раз (разрядность таймера, предоставляющего ШИМ).
Ааа, вон оно чего, тогда всё понятно. Значит чтоб выжать по больше из ШИМа нужно таймер с меньшей разрядностью? Или я глубоко заблуждаюсь?
Re: CodeVision AVR в вопросах и ответах
prw07 писал(а):а где это видно? в смысле симулятор показывает или готовое устройство?а вместо этого у меня на выходе на много меньше
Да это в реальном устройстве.
- WiseLord
- Друг Кота
- Сообщения: 4905
- Зарегистрирован: Чт апр 11, 2013 11:19:59
- Откуда: Минск
- Контактная информация:
Re: CodeVision AVR в вопросах и ответах
По сути - да. Но даже имейся в AVR таймер меньшей разрядности (например, 4), Вы бы получили частоту ШИМ 8МГц / 16 = 500кГц, но процент заполнения ШИМ (скважность) был бы доступен в количестве лишь 16 шагов, а не 256, как в обычном случае.DC_DC писал(а):Значит чтоб выжать по больше из ШИМа нужно таймер с меньшей разрядностью? Или я глубоко заблуждаюсь?
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: CodeVision AVR в вопросах и ответах
выжать по больше из ШИМа
можно взять другой микроконтроллер, например tiny261 - в нем есть PLL. Частоту тактирования таймера 1 можно сделать равной 64МГц, следовательно частота восьмибитного шима будет равна 250кГц
Re: CodeVision AVR в вопросах и ответах
oleg110592 писал(а):выжать по больше из ШИМа
можно взять другой микроконтроллер, например tiny261 - в нем есть PLL. Частоту тактирования таймера 1 можно сделать равной 64МГц, следовательно частота восьмибитного шима будет равна 250кГц
Вот это весчь. Даже с DeadTime- Надо будет попробовать. Спасибо.
Re: CodeVision AVR в вопросах и ответах
Вот вроде бы простой вопрос, но не сооброжу никак-внешнее прерывание-
как сбросить на ноль х после окончания прерывания?
Код: Выделить всё
interrupt [EXT_INT0] void ext_int0_isr(void)
{
x=1;
}как сбросить на ноль х после окончания прерывания?
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: CodeVision AVR в вопросах и ответах
А зачем тогда присваивать "1"?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: CodeVision AVR в вопросах и ответах
Для этого- if(x)-что то делать
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: CodeVision AVR в вопросах и ответах
Загадками говорите. Думаете, так кто-то поможет?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Re: CodeVision AVR в вопросах и ответах
Внутри обработчика прерывания таймера что то делается, когда наступает внешнее прерывание, это что то должно приостанавливаться, после окнчания внешнего прервания должно заработать.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: CodeVision AVR в вопросах и ответах
..любое прерывание так и работает - останавливает программу в момент возникновения и продолжает ее работу, после выхода из него...dm211 писал(а):когда наступает внешнее прерывание, это что то должно приостанавливаться, после окнчания внешнего прервания должно заработать.
Re: CodeVision AVR в вопросах и ответах
А вот без этого условия(if (x)) код внутри таймера продолжает работать, внешнее прерывание не останавливает его.
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: CodeVision AVR в вопросах и ответах
dm211 - весь код покажите и что надо сделать доступными словами, а иначе к экстрасенсам...
зы. ... возможно угадаю - работа в WinAVR и переменная x не объявлена как volatile.
зы. ... возможно угадаю - работа в WinAVR и переменная x не объявлена как volatile.
Re: CodeVision AVR в вопросах и ответах
Ну тема по CVAVR вообще то, вот код и протеус, требуется, чтобы после отжатия кнопки ШИМ опять заработал.
- Вложения
-
- пример.rar
- (29.29 КБ) 124 скачивания
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: CodeVision AVR в вопросах и ответах
... так он и работает. В чем проблема?dm211 писал(а):чтобы после отжатия кнопки ШИМ опять заработал.
Если "правильный" вопрос звучит так - как сделать так , чтобы генерация ШИМ останавливалась при нажатии и восстанавливалась при отпускании кнопки, то можно просто выключать/включать таймер и все...
- Gudd-Head
- Друг Кота
- Сообщения: 20091
- Зарегистрирован: Чт сен 18, 2008 12:27:21
- Откуда: Столица Мира Санкт-Петербург
Re: CodeVision AVR в вопросах и ответах
А ноги ШИМ контроллера в каком стостоянии тогда будут? Как повезёт?ChipKiller писал(а):можно просто выключать/включать таймер и все...
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
- ChipKiller
- Сверлит текстолит когтями
- Сообщения: 1163
- Зарегистрирован: Ср янв 05, 2011 16:25:15
Re: CodeVision AVR в вопросах и ответах
.. можно переключить в любое состояние, но об этом у ТС как раз ни звукаGudd-Head писал(а):А ноги ШИМ контроллера в каком стостоянии тогда будут? Как повезёт?