DigitalOut クラスを継承して,オープンドレインにも設定できるように拡張した DigitalOutEx クラスの使用例. Example of derived class DigitalOutEx for setting also open-drain inherited from DigitalOut class.

Dependencies:   UIT_DigitalOutEx mbed

Committer:
MikamiUitOpen
Date:
Sat Sep 29 04:56:15 2018 +0000
Revision:
4:faf3b8ea0ced
Parent:
3:83a5ca378615
5

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 0:390e8489dea4 1 //-------------------------------------------------------------
MikamiUitOpen 0:390e8489dea4 2 // DigitalOutEx クラスの使用例(赤色 LED をオープンドレインで駆動する)
MikamiUitOpen 0:390e8489dea4 3 //
MikamiUitOpen 0:390e8489dea4 4 // LED のアノード側: 5 V
MikamiUitOpen 3:83a5ca378615 5 // LED のカソード側: D8(または他の出力ポート)
MikamiUitOpen 0:390e8489dea4 6 //
MikamiUitOpen 0:390e8489dea4 7 // 初期状態はオープンドレインに設定するが,count > 10 に
MikamiUitOpen 0:390e8489dea4 8 // なったらプッシュプル出力に設定しなおす
MikamiUitOpen 0:390e8489dea4 9 //
MikamiUitOpen 4:faf3b8ea0ced 10 // 2018/09/29, Copyright (c) 2016 MIKAMI, Naoki
MikamiUitOpen 0:390e8489dea4 11 //-------------------------------------------------------------
MikamiUitOpen 0:390e8489dea4 12
MikamiUitOpen 0:390e8489dea4 13 #include "DigitalOutEx.hpp"
MikamiUitOpen 1:9aa6eadce404 14 using namespace Mikami;
MikamiUitOpen 0:390e8489dea4 15
MikamiUitOpen 0:390e8489dea4 16 // デフォルトはオープンドレインに設定される
MikamiUitOpen 0:390e8489dea4 17 DigitalOutEx ledR_(D8); // PA_9, LED のカソード側をこの端子につなぐ
MikamiUitOpen 0:390e8489dea4 18 //DigitalOutEx ledR_(D8, DigitalOutEx::PushPull); // PA_9
MikamiUitOpen 0:390e8489dea4 19 //DigitalOutEx ledR_(D6); // PB_10
MikamiUitOpen 0:390e8489dea4 20 //DigitalOutEx ledR_(A4, 1); // PC_1
MikamiUitOpen 3:83a5ca378615 21 //DigitalOutEx ledR_(PD_2); // OK
MikamiUitOpen 3:83a5ca378615 22 //DigitalOutEx ledR_(PE_14); // OK, F746ZG
MikamiUitOpen 3:83a5ca378615 23 //DigitalOutEx ledR_(PF_9); // OK, F746ZG
MikamiUitOpen 3:83a5ca378615 24 //DigitalOutEx ledR_(PG_0); // OK, F746ZG
MikamiUitOpen 0:390e8489dea4 25
MikamiUitOpen 0:390e8489dea4 26 int main()
MikamiUitOpen 0:390e8489dea4 27 {
MikamiUitOpen 0:390e8489dea4 28 int count = 0;
MikamiUitOpen 0:390e8489dea4 29 while(true)
MikamiUitOpen 0:390e8489dea4 30 {
MikamiUitOpen 0:390e8489dea4 31 ledR_ = !ledR_; // 前の状態の逆にする
MikamiUitOpen 0:390e8489dea4 32 wait(1);
MikamiUitOpen 0:390e8489dea4 33 if (++count > 10) ledR_.SetPushPull(); // プッシュプル出力に設定
MikamiUitOpen 0:390e8489dea4 34 }
MikamiUitOpen 0:390e8489dea4 35 }