Pulse width modulate a pin using the MultiTech Dragonfly.
Dependencies: mbed
main.cpp@1:aebf4e377b4d, 2016-02-26 (annotated)
- 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?
User | Revision | Line number | New 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 | } |