MyTicker7 のデモプログラム

Dependencies:   mbed MyTicker7

Committer:
MikamiUitOpen
Date:
Sat Oct 17 00:42:08 2020 +0000
Revision:
1:2e8596e6b055
Parent:
0:4f8d4743c16f
2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:4f8d4743c16f 1 //-----------------------------------------------------------
MikamiUitOpen 0:4f8d4743c16f 2 // MyTicker7 クラスの使用例
MikamiUitOpen 0:4f8d4743c16f 3 //
MikamiUitOpen 1:2e8596e6b055 4 // 2020/10/17, Copyright (c) 2020 MIKAMI, Naoki
MikamiUitOpen 0:4f8d4743c16f 5 //-----------------------------------------------------------
MikamiUitOpen 0:4f8d4743c16f 6
MikamiUitOpen 0:4f8d4743c16f 7 #include "MyTicker7.hpp"
MikamiUitOpen 0:4f8d4743c16f 8 using namespace Mikami;
MikamiUitOpen 0:4f8d4743c16f 9 #pragma diag_suppress 870 // マルチバイト文字使用の警告抑制のため
MikamiUitOpen 0:4f8d4743c16f 10
MikamiUitOpen 0:4f8d4743c16f 11 //#define NONE_INTERRUPT // 割込みを使わない場合はこの define 文を有効にする
MikamiUitOpen 0:4f8d4743c16f 12
MikamiUitOpen 0:4f8d4743c16f 13 #ifdef NONE_INTERRUPT
MikamiUitOpen 0:4f8d4743c16f 14 // 割込みを使わない場合
MikamiUitOpen 0:4f8d4743c16f 15 int main()
MikamiUitOpen 0:4f8d4743c16f 16 {
MikamiUitOpen 0:4f8d4743c16f 17 printf("\r\nMyTicker7 の使用例(割込みを使わない場合)\r\n");
MikamiUitOpen 0:4f8d4743c16f 18 MyTicker7 tim(0.5); // 出力間隔: 0.5 μs
MikamiUitOpen 1:2e8596e6b055 19 // 出力間隔の上限: 182.04442 μs
MikamiUitOpen 0:4f8d4743c16f 20 //MyTicker7 tim(182.04442); // 出力間隔: 182.04442 μs
MikamiUitOpen 0:4f8d4743c16f 21
MikamiUitOpen 0:4f8d4743c16f 22 DigitalOut dOut(D2, 1);
MikamiUitOpen 0:4f8d4743c16f 23
MikamiUitOpen 0:4f8d4743c16f 24 while (true)
MikamiUitOpen 0:4f8d4743c16f 25 {
MikamiUitOpen 0:4f8d4743c16f 26 tim.Sync();
MikamiUitOpen 0:4f8d4743c16f 27 dOut = !dOut;
MikamiUitOpen 0:4f8d4743c16f 28 }
MikamiUitOpen 0:4f8d4743c16f 29 }
MikamiUitOpen 0:4f8d4743c16f 30
MikamiUitOpen 0:4f8d4743c16f 31 #else
MikamiUitOpen 0:4f8d4743c16f 32 // 割込みを使う場合
MikamiUitOpen 0:4f8d4743c16f 33 DigitalOut dOut_(D2, 1);
MikamiUitOpen 0:4f8d4743c16f 34
MikamiUitOpen 0:4f8d4743c16f 35 void TimerIsr() { dOut_ = !dOut_; }
MikamiUitOpen 0:4f8d4743c16f 36
MikamiUitOpen 0:4f8d4743c16f 37 int main()
MikamiUitOpen 0:4f8d4743c16f 38 {
MikamiUitOpen 0:4f8d4743c16f 39 printf("\r\nMyTicker7 の使用例(割込みを使う場合)\r\n");
MikamiUitOpen 1:2e8596e6b055 40 MyTicker7 tim(0.5); // 出力間隔: 0.5 μs
MikamiUitOpen 0:4f8d4743c16f 41 tim.Attach(&TimerIsr);
MikamiUitOpen 0:4f8d4743c16f 42
MikamiUitOpen 0:4f8d4743c16f 43 while (true) {}
MikamiUitOpen 0:4f8d4743c16f 44 }
MikamiUitOpen 0:4f8d4743c16f 45 #endif