.
WIKI: https://os.mbed.com/users/robertbuc/code/Robert-Buch/wiki/Special:Allpages
A1_Lekt4_bsp_Pwm.cpp
- Committer:
- robertbuc
- Date:
- 2020-01-12
- Revision:
- 0:ecc1b22b0941
File content as of revision 0:ecc1b22b0941:
#include "mbed.h" //BusOut myleds(D2,D3,D6,D9,D11,D12,A6,D13); //duty cycle = pulsewidth x 100 / period //default periodendauer 20ms, default pulsweite 0 /* hello pwm beispiel //https://os.mbed.com/docs/mbed-os/v5.14/apis/pwmout.html bsp: 4 second period Timer 1 2 second period Timer 16 1 second period Timer 15 2 second pulse (on) 3 second pulse (on) 0.5 second pulse (on) 1 second pulse (on) //new: //BusOut myleds(D0,D3,D6,D9,D11,D12,A1,A5); PwmOut led1(D0); // Timer 1 PwmOut led3(D3); // Timer 1 PwmOut led15(A1); // Timer 15 auch A2 - ext. Led PwmOut led16(A5); // Timer 16 auch D5-SCL - ext. Led int main() { // specify period first, then everything else led1.period(4.0f); // 4 second period Timer 1 led15.period(1.0f); // 1 second period Timer 15 led16.period(2.0f); // 2 second period Timer 16 led1.pulsewidth(2); // 2 second pulse (on) led3.pulsewidth(3); // 3 second pulse (on) led15.pulsewidth(0.5); // 0.5 second pulse (on) led16.pulsewidth(1); // 1 second pulse (on) while(1){}; } */ PwmOut led1(D0); PwmOut led2(D3); PwmOut led3(A1); PwmOut led4(A5); void pwm1(); void pwm2(); void pwm3(); void pwmbsp1(); int main() { /* led4.period(4.0f); //4 second period //led4.write(0.50f); //50% duty cycle, relative to period //led4=0.5f; //shorthand for led.write() led4.pulsewidth(2); //alternative to led.write, set duty cycle time in seconds */ //pwm1(); //pwm2(); //pwm3(); pwmbsp1(); while(1) { } } void pwmbsp1() { led1.period(4.0f); led3.period_ms(1000.0f); led4.period(2); //DC = pulsewidth*100/period led1.pulsewidth(2); led2.pulsewidth(3); led3.pulsewidth(0.50f); led4.pulsewidth(1); } void pwm3() { led3.period_ms(20.0f); led3.pulsewidth_ms(5); } void pwm2() { led2.period_ms(20.0f); // 20 milli second period led2.write(0.25f); // 25% duty cycle } void pwm1() { led1=0.25f; }