#define PWM_CT2_A 11 //OC2A #define PWM_CT2_B 3 //OC2B // LGT8F328P has 12 bits. #define maxpwm 255 void ct2_init() { pinMode(PWM_CT2_A,OUTPUT); pinMode(PWM_CT2_B,OUTPUT); TCCR2A = (1 << COM2B1)|(1 << COM2A1)|(1 << WGM21)|(1 << WGM20); //fast PWM INV TCCR2B = (1 << CS20); // prescaler 0 OCR2A = 5; // pwm value OCR2B = 5; // pwm value } void setup() { pinMode(LED_BUILTIN, OUTPUT); Serial.begin(115200); ct2_init(); } uint8_t pwm = 8; char in_ch; void loop() { //OCR2B = (int)pwm; if (Serial.available()) { in_ch = Serial.read(); if (in_ch == '1') pwm = constrain(pwm+8,0,250); if (in_ch == '2') pwm = constrain(pwm-8,0,250); OCR2A = pwm; OCR2B = pwm; } delay(500); }