NUCLEO-F042K6 Simple demo using PWM to controll LED brightness
Dependencies: mbed
main.cpp@2:d5ecbd5f9886, 2018-01-31 (annotated)
- 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?
User | Revision | Line number | New 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 | } |