look

Dependencies:   mbed-STM32F103C8T6 mbed

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "stm32f103c8t6.h"
00003 #define val 0.05 // percents in step / 100
00004 #define pi 3.141592653589793115997963468544185161590576171875
00005 
00006 PwmOut Servo (PA_8);
00007 DigitalOut myled(PC_13);
00008 Ticker timer;
00009 
00010 
00011 double f = 0; //first period
00012 double i = 0;
00013 
00014 void sinus (){
00015     Servo = (float)f * val; // duty-cycle, perсents 0..1; посчитанное значение вставится в следующее прерывание
00016     i += 0.1;
00017     if (i > 2) i = 0;
00018     f = (sin(i * pi) + 1.0) / 2 + 1; //1..2
00019 }
00020 
00021 int main() {
00022     confSysClock();
00023     Servo.period_ms(20);
00024     timer.attach(&sinus, val); //sine period, sec
00025     while(1) {
00026          myled = !myled;
00027          wait(0.5);
00028     }
00029 }