Cameron Causer
/
4180_L1_P9_AnalogOut_SinWave
Output a sin wave to analog out pin
main.cpp@0:ee61df6b19ec, 2018-10-16 (annotated)
- Committer:
- kzar
- Date:
- Tue Oct 16 18:57:18 2018 +0000
- Revision:
- 0:ee61df6b19ec
Output a sin wave to analog out pin
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kzar | 0:ee61df6b19ec | 1 | #include "mbed.h" |
kzar | 0:ee61df6b19ec | 2 | #include <cmath> |
kzar | 0:ee61df6b19ec | 3 | //Declare AnalogOut pin |
kzar | 0:ee61df6b19ec | 4 | AnalogOut apin(p18); |
kzar | 0:ee61df6b19ec | 5 | |
kzar | 0:ee61df6b19ec | 6 | int main() { |
kzar | 0:ee61df6b19ec | 7 | //Precompute Sin wave values and scale |
kzar | 0:ee61df6b19ec | 8 | float SinWave[20]; |
kzar | 0:ee61df6b19ec | 9 | float increment = 2*3.14/20; |
kzar | 0:ee61df6b19ec | 10 | float arg = 0; |
kzar | 0:ee61df6b19ec | 11 | for (int i = 0; i < 20; i++) { |
kzar | 0:ee61df6b19ec | 12 | SinWave[i] = sin(arg)/2+0.5; |
kzar | 0:ee61df6b19ec | 13 | arg = arg + increment; |
kzar | 0:ee61df6b19ec | 14 | } |
kzar | 0:ee61df6b19ec | 15 | //Output sinwave fovever |
kzar | 0:ee61df6b19ec | 16 | while(1) { |
kzar | 0:ee61df6b19ec | 17 | for (int i = 0; i < 20; i++) { |
kzar | 0:ee61df6b19ec | 18 | apin = SinWave[i]; |
kzar | 0:ee61df6b19ec | 19 | } |
kzar | 0:ee61df6b19ec | 20 | } |
kzar | 0:ee61df6b19ec | 21 | } |