Teensy++ 2.0: How to get a PWM output from pins OC2A & OC2B
You've select waveform mode 5 (WGM22=1, WGM21=0, WGM20=1). This means: "Phase Correct PWM where OCR2A is the TOP value".

This means that the timer will count up to the value in OCR2A and then count back down to zero. The OC2A pin won't have an output in this mode, and the OC2B pin will be set when counting up on a compare match between OCR2B and TCNT2 and cleared when the compare match occurs when counting back down. As you have set the OCR2B value to be higher than OCR2A, then a compare match will never happen because the counter starts counting back down before it happens. This means you will not get any output on OC2B either. This mode is designed for if you want a specific PWM frequency at the expense of a PWM output and you set OCR2B&lt;=OCR2A.

I believe what you want is either waveform mode 3 (WGM22=0, WGM21=1, WGM20=1) or waveform mode 1 (WGM22=0, WGM21=0, WGM20=1). These are "Fast PWM" and "Phase Correct PWM" respectively, but which use 0xFF as the TOP value. In this mode, both outputs can be used to generate a PWM signal with a fixed frequency but independent duty cycle (the frequency depends on the prescaler settings and clock frequency).



Just for reference, the above is based on Table 16-7 on page 158 of the datasheet.