pp.32-36
出力モードの切り換えが簡単にできるよう、著者がヘッダーSetOutputPortType.hppを用意している。それを使ってみる。下のプログラムは、テキストと違って赤色LEDしか使っていないので、オープンドレインだろうがプッシュプルだろうが区別がつかない。
#include "mbed.h" #include "SetOutputPortType.hpp" using namespace Mikami; #define BLINKING_RATE 100ms int main(){ BusOut leds(PA_10, PB_3, PB_5, PB_4, PB_10, PA_8, PA_9, PC_7); SetOpenDrain(PA_10, PB_3, PB_5, PB_4); SetPushPull(PB_10, PA_8, PA_9, PC_7); while(1){ for(int i=0; i<8; i++){ leds = ~(1 << i); ThisThread::sleep_for(BLINKING_RATE); } for(int i=6; i>=1; i--){ leds = ~(1 << i); ThisThread::sleep_for(BLINKING_RATE); } } return 0; }