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

Dependencies:   mbed-STM32F103C8T6 mbed

Committer:
RuslanUrya
Date:
Mon Apr 09 22:02:39 2018 +0000
Revision:
0:fb723d2f5d7e
Child:
1:b8fb21d3836e
not work

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 0:fb723d2f5d7e 15 }
RuslanUrya 0:fb723d2f5d7e 16
RuslanUrya 0:fb723d2f5d7e 17 int main() {
RuslanUrya 0:fb723d2f5d7e 18 confSysClock();
RuslanUrya 0:fb723d2f5d7e 19 timer.attach(&sinus, 1);
RuslanUrya 0:fb723d2f5d7e 20 Servo.period_ms(20);
RuslanUrya 0:fb723d2f5d7e 21 sinus();
RuslanUrya 0:fb723d2f5d7e 22 while(1) {
RuslanUrya 0:fb723d2f5d7e 23
RuslanUrya 0:fb723d2f5d7e 24 Servo = (float)f * val; // duty-cycle, persents 0..1
RuslanUrya 0:fb723d2f5d7e 25 }
RuslanUrya 0:fb723d2f5d7e 26 }