STM32L010でナイトライダー (Keil)(STM32L010F4P6)


x Mbed2

目的
8LEDを順次点灯するプログラム

いろいろ
ほぼ3分クッキング

-248



//IO_Knight_Rider_010_1

#include "mbed.h"

//GPIOの初期化
DigitalOut myled(PB_1); //D7

//GPIOポートの初期化
//                       76543210
PortOut ledport(PortA, 0b11111110); //D0 - D6

//シフトの軽量高速化の為
//              12345678   12345678   12345678   12345678
char b8[8] = {0b10000000,0b01000000,0b00100000,0b00010000,
              0b00001000,0b00000100,0b00000010,0b00000001
             };

//メイン関数
int main()
{

    char buf[10]; //バッファー

    //無限ループ
    while(1) {

        //0から7までループ
        for(int ii=0; ii<8; ii++) {

            buf[0] = b8[ii];//バッファーのクリア

            ledport = buf[0]<<1; //1シフト後に代入

            myled =( ((buf[0] & 0x80) == 0)  ? 0 : 1 ); //D7を代入

            wait_ms(1000); //1秒待つ

        }//for

    }//while

}//main