micro:bit / PWM の設定方法 / mbed

無限ループは不要である。

#include "MicroBit.h"
MicroBit uBit;

int main(void){
    uBit.init();
    
    uBit.io.P0.setAnalogValue(int(0.5*1023.0)); // 必ず先にデューティ (0 ~ 1023) を設定しておく。
    uBit.io.P0.setAnalogPeriod(1);              // 周期〔ms〕を設定する。
    //uBit.io.P1.setAnalogPeriod(1000); // 周期は μs 単位でも設定できる。
    
    printf("%d ms\n", uBit.io.P0.getAnalogPeriod());   // 設定された周期〔ms〕は取得できる。
    printf("%d us\n", uBit.io.P0.getAnalogPeriodUs()); // 設定された周期は μs 単位でも取得できる。

    release_fiber();
    return 0;
}

f:id:ti-nspire:20180525101908p:plain:h250 f:id:ti-nspire:20180525103447p:plain:h250
f:id:ti-nspire:20180525101826p:plain