Přeskočit na hlavní obsah

Jak na: PWM

Pulzně šířková modulace (PWM) je metoda, jak z digitálního výstupu mikrokontroléru vytvořit signál podobný analogovému. Dosahuje toho rychlým přepínáním pinu s různým poměrem logických úrovní HIGH a LOW. Tento poměr se nazývá duty cycle (střída).

V pinoutu modulu Core Module si ověřte, které piny podporují PWM.

Pro PWM lze použít 9 pinů:

TWR_PWM_P0
TWR_PWM_P1
TWR_PWM_P2
TWR_PWM_P3
TWR_PWM_P6
TWR_PWM_P7
TWR_PWM_P8
TWR_PWM_P12
TWR_PWM_P14

Odkazy​

Duty cycle​

Duty cycle (střída) určuje, jak dlouho má být pin ve stavu HIGH. Změnou této hodnoty získáte různé výstupy podobné analogovým.

Hodnoty jsou v rozsahu 0-255, kde 0 znamená trvale LOW a 255 trvale HIGH.

informace

Jednoduchý příklad, který zapne signál PWM na výstupech P6, P7 a P8. Každý výstup má jiný duty cycle: 180, 210 a 255.

Ukázka kódu pro spuštění PWM na pinech

void application_init()
{
twr_pwm_init(TWR_PWM_P6);
twr_pwm_set(TWR_PWM_P6, 180);
twr_pwm_enable(TWR_PWM_P6);

twr_pwm_init(TWR_PWM_P7);
twr_pwm_set(TWR_PWM_P7, 210);
twr_pwm_enable(TWR_PWM_P7);

twr_pwm_init(TWR_PWM_P8);
twr_pwm_set(TWR_PWM_P8, 255);
twr_pwm_enable(TWR_PWM_P8);
}