Модулятор.
- Войдите на сайт для отправки комментариев
Пт, 21/08/2020 - 06:00
Здравствуйте
Есть красный и зеленый PB7, PA8 , как получить голубой на PB6 ?
HardwareTimer pwmtimer1(1); HardwareTimer pwmtimer4(4); int out1 = PB7; //T4CH2 int out2 = PA8; //T1CH1 int out3 = PB6; void setup() { pinMode(out1, PWM); //T4CH2, 20 kHz pinMode(out2, PWM); //T1CH1, 2kHz pinMode(out3, PWM); pwmtimer1.pause(); pwmtimer1.setPrescaleFactor(10); pwmtimer1.setOverflow(3600); pwmtimer1.setCompare(TIMER_CH1, 1800); pwmtimer1.refresh(); pwmtimer1.resume(); pwmtimer4.pause(); pwmtimer4.setPrescaleFactor(1); pwmtimer4.setOverflow(3600); // 20kHz pwmtimer4.setCompare(TIMER_CH2, 1800); pwmtimer4.refresh(); pwmtimer4.resume(); } void loop() { }
ловишь фронты на PB7 и отключаешь выход PA8 по заднему фронту, а по переднему - включаешь
Один транзистор и один элемент "&".
Ну и вопрос: а точно на PB6 есть ЦАП ?
для точности процесса ловить лучше прерыванием видимо или один элемент &
это щляпа полная, для реальной работы непригодно
как уже сказали выше - используйте прерывания. На первом таймере заведите два обработчика - по переполнению и по совпадению, в одном разрешайте второй таймер, в другом запрещайте
Так проще, возникнуть птьоблемы буду пробовать как подсказывают - сложнее