invert pwm
This commit is contained in:
parent
dcadf16e1c
commit
f7028b3f8c
1 changed files with 11 additions and 10 deletions
21
src/main.rs
21
src/main.rs
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in a new issue