MDテスト用プログラム
Dependencies: FastPWM GMD_template_lib mbed
Fork of NewMD2 by
main.cpp@14:cc8d5686e57c, 2016-09-06 (annotated)
- Committer:
- inst
- Date:
- Tue Sep 06 02:29:32 2016 +0000
- Revision:
- 14:cc8d5686e57c
- Parent:
- 13:7fac7b2f8fae
?????????
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
inst | 0:690d8ed9ee20 | 1 | #include "mbed.h" |
inst | 0:690d8ed9ee20 | 2 | #include "GMD.hpp" |
inst | 0:690d8ed9ee20 | 3 | |
inst | 14:cc8d5686e57c | 4 | char read_din() { |
inst | 0:690d8ed9ee20 | 5 | const size_t din_num = 4; |
inst | 0:690d8ed9ee20 | 6 | DigitalIn din[] = { |
inst | 0:690d8ed9ee20 | 7 | DigitalIn(dp26), |
inst | 0:690d8ed9ee20 | 8 | DigitalIn(dp25), |
inst | 0:690d8ed9ee20 | 9 | DigitalIn(dp18), |
inst | 0:690d8ed9ee20 | 10 | DigitalIn(dp17) |
inst | 0:690d8ed9ee20 | 11 | }; |
inst | 0:690d8ed9ee20 | 12 | |
inst | 0:690d8ed9ee20 | 13 | char address = 0; |
inst | 0:690d8ed9ee20 | 14 | for (size_t i = 0; i < din_num; ++i) { |
inst | 14:cc8d5686e57c | 15 | address |= din[i].read() << i; |
inst | 0:690d8ed9ee20 | 16 | } |
inst | 14:cc8d5686e57c | 17 | return address; |
inst | 0:690d8ed9ee20 | 18 | } |
inst | 0:690d8ed9ee20 | 19 | |
inst | 0:690d8ed9ee20 | 20 | int main(){ |
inst | 12:78fa1247aec4 | 21 | GMD<5, 95> md(dp1, dp2, dp9); // Duty比の範囲を5%~95%に制限 |
inst | 10:bf4b442a5449 | 22 | //md.set_frequency_kHz(10.0f); もしスイッチング周波数を変更したかったらここを使う |
inst | 0:690d8ed9ee20 | 23 | while (true){ |
inst | 14:cc8d5686e57c | 24 | switch (read_din()) { |
inst | 14:cc8d5686e57c | 25 | case 0x00: |
inst | 14:cc8d5686e57c | 26 | md.set(0.0f); |
inst | 0:690d8ed9ee20 | 27 | break; |
inst | 0:690d8ed9ee20 | 28 | |
inst | 14:cc8d5686e57c | 29 | case 0x01: |
inst | 14:cc8d5686e57c | 30 | md.set(0.5f); |
inst | 14:cc8d5686e57c | 31 | break; |
inst | 14:cc8d5686e57c | 32 | |
inst | 14:cc8d5686e57c | 33 | case 0x02: |
inst | 14:cc8d5686e57c | 34 | md.set(-0.5f); |
inst | 0:690d8ed9ee20 | 35 | break; |
inst | 0:690d8ed9ee20 | 36 | |
inst | 14:cc8d5686e57c | 37 | case 0x03: |
inst | 14:cc8d5686e57c | 38 | md.release(); |
inst | 0:690d8ed9ee20 | 39 | break; |
inst | 0:690d8ed9ee20 | 40 | } |
inst | 0:690d8ed9ee20 | 41 | } |
inst | 0:690d8ed9ee20 | 42 | } |