a program to ramp the blink frequency of an analog out pin for Nucleo L432KC

Dependencies:   FastPWM

Committer:
laserdad
Date:
Sun Jan 27 15:48:36 2019 +0000
Revision:
0:95d8db6b6e4d
ramping version full range

Who changed what in which revision?

UserRevisionLine numberNew contents of line
laserdad 0:95d8db6b6e4d 1 #include "mbed.h"
laserdad 0:95d8db6b6e4d 2
laserdad 0:95d8db6b6e4d 3 AnalogOut base(A3);
laserdad 0:95d8db6b6e4d 4 Serial pc(USBTX, USBRX,9600);
laserdad 0:95d8db6b6e4d 5 // main() runs in its own thread in the OS
laserdad 0:95d8db6b6e4d 6 float min_loop_time = 1e6;
laserdad 0:95d8db6b6e4d 7 Timer t;
laserdad 0:95d8db6b6e4d 8 int main() {
laserdad 0:95d8db6b6e4d 9 pc.printf("starting main program\r\n");
laserdad 0:95d8db6b6e4d 10 while (1) {
laserdad 0:95d8db6b6e4d 11 float delay_time = 2e6;
laserdad 0:95d8db6b6e4d 12 t.start();
laserdad 0:95d8db6b6e4d 13 while(delay_time > 1.0) {
laserdad 0:95d8db6b6e4d 14 base = 1;
laserdad 0:95d8db6b6e4d 15 wait_us(delay_time);
laserdad 0:95d8db6b6e4d 16 base = 0;
laserdad 0:95d8db6b6e4d 17 wait_us(delay_time);
laserdad 0:95d8db6b6e4d 18 if(t.read_us() > min_loop_time) {
laserdad 0:95d8db6b6e4d 19 delay_time = delay_time/2;
laserdad 0:95d8db6b6e4d 20 t.reset();
laserdad 0:95d8db6b6e4d 21 pc.printf("%.0f\r\n",delay_time);
laserdad 0:95d8db6b6e4d 22 }
laserdad 0:95d8db6b6e4d 23 }
laserdad 0:95d8db6b6e4d 24 }
laserdad 0:95d8db6b6e4d 25 }
laserdad 0:95d8db6b6e4d 26