NUCLEO-F042K6 Simple demo using PWM to controll LED brightness

Dependencies:   mbed

Committer:
vodsejak
Date:
Wed Jan 31 21:15:53 2018 +0000
Revision:
2:d5ecbd5f9886
Parent:
1:458a648ecbde
Child:
3:03bf4cc245ce
v1.0; initial

Who changed what in which revision?

UserRevisionLine numberNew contents of line
vodsejak 1:458a648ecbde 1 #include "mbed.h" // import of mbed library (required)
vodsejak 0:b2a1f2577916 2
vodsejak 1:458a648ecbde 3 /*******************************************************************************
vodsejak 1:458a648ecbde 4
vodsejak 1:458a648ecbde 5 EXAMPLE DESCRIPTION
vodsejak 0:b2a1f2577916 6
vodsejak 1:458a648ecbde 7 Sets PWM out on pin PA_8 with f=2 Hz and duty cycle = 0.5. The best use is to
vodsejak 1:458a648ecbde 8 connect LED to pin PA_8 (using wiring with transitor) to see effect of PWM.
vodsejak 1:458a648ecbde 9
vodsejak 1:458a648ecbde 10 *******************************************************************************/
vodsejak 1:458a648ecbde 11
vodsejak 1:458a648ecbde 12 PwmOut PWM(PA_8); // definition of PWM pin
vodsejak 1:458a648ecbde 13
vodsejak 1:458a648ecbde 14 int main()
vodsejak 1:458a648ecbde 15 {
vodsejak 1:458a648ecbde 16
vodsejak 2:d5ecbd5f9886 17 PWM.period_ms(5); // period of PWM - f=1/T -> f=1/0.005=200 Hz
vodsejak 2:d5ecbd5f9886 18 PWM.pulsewidth_us(0); // duration of active pulse
vodsejak 1:458a648ecbde 19 //sets duty cycle - duty cycle = pulsewidth/period
vodsejak 1:458a648ecbde 20
vodsejak 0:b2a1f2577916 21 while(1) {
vodsejak 2:d5ecbd5f9886 22 for(int i=0;i<=5000;i=i+10){
vodsejak 2:d5ecbd5f9886 23 PWM.pulsewidth_us(i);
vodsejak 2:d5ecbd5f9886 24 wait_ms(1000);
vodsejak 2:d5ecbd5f9886 25 }
vodsejak 2:d5ecbd5f9886 26 for(int i=5000;i>=0;i=i-10){
vodsejak 2:d5ecbd5f9886 27 PWM.pulsewidth_us(i);
vodsejak 2:d5ecbd5f9886 28 wait_ms(1000);
vodsejak 2:d5ecbd5f9886 29 }
vodsejak 0:b2a1f2577916 30 }
vodsejak 0:b2a1f2577916 31 }