Pulse width modulate a pin using the MultiTech mDot.
Dependencies: mbed
Fork of Dragonfly_PwmOut_Example by
main.cpp@0:4a3a5f1bdca6, 2015-10-02 (annotated)
- 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?
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 | 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 | } |