Pulse width modulate a pin using the MultiTech Dragonfly.

Dependencies:   mbed

Committer:
mfiore
Date:
Fri Feb 26 16:56:04 2016 +0000
Revision:
1:aebf4e377b4d
Parent:
0:4a3a5f1bdca6
Updated mbed library to revision 112, disable regulator's battery charger

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 1:aebf4e377b4d 12
mfiore 1:aebf4e377b4d 13 // This line controls the regulator's battery charger.
mfiore 1:aebf4e377b4d 14 // BC_NCE = 0 enables the battery charger
mfiore 1:aebf4e377b4d 15 // BC_NCE = 1 disables the battery charger
mfiore 1:aebf4e377b4d 16 DigitalOut bc_nce(PB_2);
mfiore 0:4a3a5f1bdca6 17
mfiore 0:4a3a5f1bdca6 18 int main() {
mfiore 1:aebf4e377b4d 19 // Disable the battery charger unless a battery is attached.
mfiore 1:aebf4e377b4d 20 bc_nce = 1;
mfiore 1:aebf4e377b4d 21
mfiore 0:4a3a5f1bdca6 22 PwmOut out(D12);
mfiore 0:4a3a5f1bdca6 23
mfiore 0:4a3a5f1bdca6 24 while (true) {
mfiore 0:4a3a5f1bdca6 25 for (float f = 0.0f; f < 1.0f; f += 0.05f) {
mfiore 0:4a3a5f1bdca6 26 out = f;
mfiore 0:4a3a5f1bdca6 27 wait_ms(50);
mfiore 0:4a3a5f1bdca6 28 }
mfiore 0:4a3a5f1bdca6 29 for (float f = 1.0f; f > 0.0f; f -= 0.05f) {
mfiore 0:4a3a5f1bdca6 30 out = f;
mfiore 0:4a3a5f1bdca6 31 wait_ms(50);
mfiore 0:4a3a5f1bdca6 32 }
mfiore 0:4a3a5f1bdca6 33 }
mfiore 0:4a3a5f1bdca6 34 }