Руслан Урядинский / Mbed 2 deprecated Servo_move_sin

Dependencies:   mbed-STM32F103C8T6 mbed

Committer:
RuslanUrya
Date:
Mon Apr 09 22:11:48 2018 +0000
Revision:
1:b8fb21d3836e
Parent:
0:fb723d2f5d7e
Child:
2:3f9a695cde1c
upgrade

Who changed what in which revision?

UserRevisionLine numberNew contents of line
RuslanUrya 0:fb723d2f5d7e 1 #include "mbed.h"
RuslanUrya 0:fb723d2f5d7e 2 #include "stm32f103c8t6.h"
RuslanUrya 0:fb723d2f5d7e 3 #define val 0.05 // percents in step / 100
RuslanUrya 0:fb723d2f5d7e 4
RuslanUrya 0:fb723d2f5d7e 5 PwmOut Servo (PA_8);
RuslanUrya 0:fb723d2f5d7e 6 Timeout timer;
RuslanUrya 0:fb723d2f5d7e 7
RuslanUrya 0:fb723d2f5d7e 8
RuslanUrya 0:fb723d2f5d7e 9 double f, i = 0;
RuslanUrya 0:fb723d2f5d7e 10
RuslanUrya 0:fb723d2f5d7e 11 void sinus (){
RuslanUrya 0:fb723d2f5d7e 12 f = (sin(i) + 1.0) / 2 + 1; //1..2
RuslanUrya 0:fb723d2f5d7e 13 i += 1;
RuslanUrya 0:fb723d2f5d7e 14 if (i > 360) i = 0;
RuslanUrya 1:b8fb21d3836e 15 f * = val; // duty-cycle, perсents 0..1
RuslanUrya 0:fb723d2f5d7e 16 }
RuslanUrya 0:fb723d2f5d7e 17
RuslanUrya 0:fb723d2f5d7e 18 int main() {
RuslanUrya 0:fb723d2f5d7e 19 confSysClock();
RuslanUrya 1:b8fb21d3836e 20 timer.attach(&sinus, 1); //sine period, sec
RuslanUrya 0:fb723d2f5d7e 21 Servo.period_ms(20);
RuslanUrya 0:fb723d2f5d7e 22 sinus();
RuslanUrya 0:fb723d2f5d7e 23 while(1) {
RuslanUrya 1:b8fb21d3836e 24 Servo = (float)f;
RuslanUrya 0:fb723d2f5d7e 25 }
RuslanUrya 0:fb723d2f5d7e 26 }