Pulse width modulate a pin using the MultiTech mDot.

Dependencies:   mbed

Fork of Dragonfly_PwmOut_Example by MultiTech

Committer:
mfiore
Date:
Fri Oct 02 14:00:17 2015 +0000
Revision:
0:4a3a5f1bdca6
Child:
1:8c4800b7cfc7
initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfiore 0:4a3a5f1bdca6 1 /** Dragonfly PwmOut Example Program
mfiore 0:4a3a5f1bdca6 2 *
mfiore 0:4a3a5f1bdca6 3 * This program demonstrates how to do pulse width modulation on
mfiore 0:4a3a5f1bdca6 4 * and output pin using the MultiTech Dragonfly and MultiTech UDK2
mfiore 0:4a3a5f1bdca6 5 * hardware. The only additional hardware required is a LED.
mfiore 0:4a3a5f1bdca6 6 *
mfiore 0:4a3a5f1bdca6 7 * This program PWMs the D12 pin. It should go from 0% to 100% duty
mfiore 0:4a3a5f1bdca6 8 * cycle in 5% increments and then from 100% to 0% in 5% increments.
mfiore 0:4a3a5f1bdca6 9 */
mfiore 0:4a3a5f1bdca6 10
mfiore 0:4a3a5f1bdca6 11 #include "mbed.h"
mfiore 0:4a3a5f1bdca6 12
mfiore 0:4a3a5f1bdca6 13 int main() {
mfiore 0:4a3a5f1bdca6 14 PwmOut out(D12);
mfiore 0:4a3a5f1bdca6 15
mfiore 0:4a3a5f1bdca6 16 while (true) {
mfiore 0:4a3a5f1bdca6 17 for (float f = 0.0f; f < 1.0f; f += 0.05f) {
mfiore 0:4a3a5f1bdca6 18 out = f;
mfiore 0:4a3a5f1bdca6 19 wait_ms(50);
mfiore 0:4a3a5f1bdca6 20 }
mfiore 0:4a3a5f1bdca6 21 for (float f = 1.0f; f > 0.0f; f -= 0.05f) {
mfiore 0:4a3a5f1bdca6 22 out = f;
mfiore 0:4a3a5f1bdca6 23 wait_ms(50);
mfiore 0:4a3a5f1bdca6 24 }
mfiore 0:4a3a5f1bdca6 25 }
mfiore 0:4a3a5f1bdca6 26 }