4х канальный ШИМ на UNO 100ГЦ
- Войдите на сайт для отправки комментариев
Втр, 23/01/2018 - 10:40
Необходимо 4 выхода ШИМ с частотой 100 ГЦ.
/* Arduino UNO (Atmel 328) */ #include <PWM.h> //int pin5 = 5; // пины - таймер 0 //int pin6 = 6; // пины - таймер 0 int pin9 = 9; // пины - таймер 1 int pin10 = 10; // пины - таймер 1 int pin3 = 3; // пины - таймер 2 int pin11 = 11; // пины - таймер 2 unsigned long frequency = 100; // частота ШИМ 100(Гц) void setup(){ InitTimersSafe(); SetPinFrequency(pin3, frequency); SetPinFrequency(pin11, frequency); SetPinFrequency(pin9, frequency); SetPinFrequency(pin10, frequency); } void loop(){ pwmWrite(pin9, 125); pwmWrite(pin10, 125); pwmWrite(pin3, 125); pwmWrite(pin11, 125); }
Но в результате: на пин 11 тишина.
В чем может быть проблема.
а 11 вывод у вас аппаратно ШИМ?? (хотя по опсанию вроде должен быть ШИМ)
попробуйте только его ставить и посмотреть что на нем... ну или вместо него другой поставить
А в loop-то зачем это делать?
Перенесите строки 20-23 в setup и скажите, что получилось.
Да, мне необходим аппаратный ШИМ.
А в loop-то зачем это делать?
Перенесите строки 20-23 в setup и скажите, что получилось.
В loop я хочу менять скважность в зависимости от логики кода.
Перенес в setup, но ничего не поменялось. А именно на пине 3,9,10 частота 100 Гц, на 11 - так наводки и помехи очень малые. 11 пин жив, проверял отдельным скетчем analogWrite(11,127), частота только там дефолтовская.
С горем по-полам взял код(функцию) из arduino.com,
В итоге получились такие частоты
ШИМ 100 Гц на все четырех пинах arduino UNO пока не получается. Пока только 122 Гц (