Ryo Od
/
Nucleo_AnalogOut_SawWave
Saw Wave Generator
main.cpp@0:d51bfc20e42e, 2017-08-15 (annotated)
- Committer:
- ryood
- Date:
- Tue Aug 15 13:06:53 2017 +0000
- Revision:
- 0:d51bfc20e42e
firast commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ryood | 0:d51bfc20e42e | 1 | #include "mbed.h" |
ryood | 0:d51bfc20e42e | 2 | |
ryood | 0:d51bfc20e42e | 3 | AnalogOut aout(A2); |
ryood | 0:d51bfc20e42e | 4 | |
ryood | 0:d51bfc20e42e | 5 | const int maxAoutValue = 4096; |
ryood | 0:d51bfc20e42e | 6 | const float samplingPeriod = 0.25f / maxAoutValue; |
ryood | 0:d51bfc20e42e | 7 | |
ryood | 0:d51bfc20e42e | 8 | int cnt = 0; |
ryood | 0:d51bfc20e42e | 9 | |
ryood | 0:d51bfc20e42e | 10 | void tick() |
ryood | 0:d51bfc20e42e | 11 | { |
ryood | 0:d51bfc20e42e | 12 | cnt++; |
ryood | 0:d51bfc20e42e | 13 | if (cnt == maxAoutValue) { |
ryood | 0:d51bfc20e42e | 14 | cnt = 0; |
ryood | 0:d51bfc20e42e | 15 | } |
ryood | 0:d51bfc20e42e | 16 | aout.write_u16(cnt << 4); |
ryood | 0:d51bfc20e42e | 17 | } |
ryood | 0:d51bfc20e42e | 18 | |
ryood | 0:d51bfc20e42e | 19 | int main() |
ryood | 0:d51bfc20e42e | 20 | { |
ryood | 0:d51bfc20e42e | 21 | Ticker t; |
ryood | 0:d51bfc20e42e | 22 | t.attach(&tick, samplingPeriod); |
ryood | 0:d51bfc20e42e | 23 | |
ryood | 0:d51bfc20e42e | 24 | for (;;) {} |
ryood | 0:d51bfc20e42e | 25 | } |