Lチカ / 外づけLED / 出力モードを切り換えるためのグローバル函数

pp.32-36

出力モードの切り換えが簡単にできるよう、著者がヘッダーSetOutputPortType.hppを用意している。それを使ってみる。下のプログラムは、テキストと違って赤色LEDしか使っていないので、オープンドレインだろうがプッシュプルだろうが区別がつかない。

f:id:ti-nspire:20200907094514p:plain:h315

#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;
}