AVR ШИМ и ноль
Привет всем. При записи в OCRxx=0, если таймер работает в режиме Fast PWM на выходной ноге болтается совсем не ноль, собственно как и написано в даташите. Зато вот как все таки сделать так, чтоб на выходе был ноль в даташите я не нашел. Сейчас я инвертировал выход, и тогда OCRxx=0xFF дает на выходе ноль. Но есть ли другой способ?
- Реклама
- Сообщения: 79
- Зарегистрирован: Сб май 08, 2010 09:33:42
Могу такой способ предложить. Проверяешь переменную, которую записываешь в таймер. Если равна нулю, просто активизируешь нормальную работу ножки порта, а в регистр выхода просто занеси 0.
Хотя способ с интертированием проще - если не нужен коэффициент заполнения = 1 все отлично будет работать
Хотя способ с интертированием проще - если не нужен коэффициент заполнения = 1 все отлично будет работать
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Не забывайте что уровень логического нуля, не есть эквивалент напряжению 0 В. Выход МК имеет полное право при выводе логического нуля выдавать напряжение от 0 до 0,5...0,7 В в зависимости от тока. Так что смотрите даташит. Если укладываетесь - все нормально.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Да полное заполнение это ерунда, у мя светики, там незаметна эта разница совершенно...
Meteor, да с этим все хорошо ) Там проблема в том, что если регистр устанавливаешь в ноль - это специальное состояние, когда узкие пики тактируемые таймером. Если я просто ножку в ноль опускаю - нету проблем, тру ноль.
Meteor, да с этим все хорошо ) Там проблема в том, что если регистр устанавливаешь в ноль - это специальное состояние, когда узкие пики тактируемые таймером. Если я просто ножку в ноль опускаю - нету проблем, тру ноль.
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
Фу ты еле вспомнил. В шите описано, применяя режим быстрого ШИМ при крайних вариантах (0x00 и 0xFF в зависимости от того что активное 0 или 1) будут проявляться "всплески" длительностью в один период.
Сам столкнулся с этой проблемой года 2 назад. Было критично и ушел на ШИМ с точной фазой
Сам столкнулся с этой проблемой года 2 назад. Было критично и ушел на ШИМ с точной фазой
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
- Реклама
С точной фазой в итоге получается тоже самое? Или есть какие-то отличия в работе?
- Сообщения: 3961
- Зарегистрирован: Пн июл 13, 2009 14:37:39
- Откуда: Московская область, наукоград.....
С точной фазой ШИМ в 2 раза медленнее, но при этом нет "всплесков" на крайних значениях
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Ок, понял, спасибо. Попробую и так )


