# Pulse Width Modulation - Clock - Pre-scalar - Duty cycle (in percentage) - Period (the total width of high and low, in ms) - When `TCNT` (time counter) matches `OCRA`, actions are triggered ```c void doNextOC() { unsigned short *pTCNT = ... unsigned short *pOCRA = ... *pOCRA += byHigh ? 2800 : 1200; byHigh = !byHigh; } ```