1
Fork 0

invert pwm

This commit is contained in:
Andy Killorin 2025-07-11 22:56:59 -05:00
parent dcadf16e1c
commit f7028b3f8c
Signed by: ank
GPG key ID: 80BA307A6BD7A7E4

View file

@ -47,8 +47,8 @@ fn main() -> ! {
enable_pin.set_low(); // enable outputs
let _ = pins.d3.into_output(); // right
let _ = pins.d11.into_output(); // left
pins.d3.into_output(); // right
pins.d11.into_output(); // left
// TCCR2A |= _BV(COM2A1) | _BV(WGM20) | _BV(WGM21); // fast PWM, turn on oc2a
// TCCR2B = freq & 0x7;
@ -56,12 +56,12 @@ fn main() -> ! {
let tc2 = dp.TC2;
tc2.tccr2a.write(|w| { w
.wgm2().pwm_fast()
.com2a().match_set()
.com2b().match_set()
.com2a().match_clear()
.com2b().match_clear()
});
tc2.tccr2b.write(|w| w.cs2().prescale_8().foc2b().clear_bit().foc2a().clear_bit().wgm22().clear_bit());
tc2.ocr2a.write(|w| w.bits(2));
tc2.ocr2b.write(|w| w.bits(2));
tc2.tccr2b.write(|w| w.cs2().prescale_8().wgm22().clear_bit());
tc2.ocr2a.write(|w| w.bits(0));
tc2.ocr2b.write(|w| w.bits(0));
let mut led = pins.d13.into_output();
@ -74,11 +74,12 @@ fn main() -> ! {
led.toggle();
// fwd left
shift_register |= LEFT_FWD | RIGHT_FWD;
// /255
tc2.ocr2a.write(|w| w.bits(1)); // right
tc2.ocr2b.write(|w| w.bits(1)); // left
// 16/255
tc2.ocr2a.write(|w| w.bits(000)); // left
tc2.ocr2b.write(|w| w.bits(000)); // right
update_shift_register(&mut data_pin, &mut latch_pin, &mut clock_pin, &shift_register);