Pulse width modulate a pin using the MultiTech mDot.

Dependencies:   mbed

Fork of Dragonfly_PwmOut_Example by MultiTech

Committer:
mfiore
Date:
Fri Oct 02 16:42:59 2015 +0000
Revision:
1:8c4800b7cfc7
Parent:
0:4a3a5f1bdca6
update for mDot

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mfiore 1:8c4800b7cfc7 1 /** mDot PwmOut Example Program
mfiore 0:4a3a5f1bdca6 2 *
mfiore 0:4a3a5f1bdca6 3 * This program demonstrates how to do pulse width modulation on
mfiore 1:8c4800b7cfc7 4 * and output pin using the MultiTech mDot and MultiTech UDK2
mfiore 0:4a3a5f1bdca6 5 * hardware. The only additional hardware required is a LED.
mfiore 0:4a3a5f1bdca6 6 *
mfiore 1:8c4800b7cfc7 7 * This program PWMs the XBEE_DO8 (UDK2 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 1:8c4800b7cfc7 14 PwmOut out(XBEE_DO8);
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 }