【raspberry pi pico】C/C++でGPIOを使うときに最低限必要な記述

ソースに最低限必要な記述

Lチカのソースを例にすると

#include "pico/stdlib.h" // 1:標準入出力やGPIO操作に必要なヘッダ 
#include "stdbool.h" // ブール型を使うためのヘッダ(必須ではない)

int main() {
    #ifndef PICO_DEFAULT_LED_PIN
    #warning blink example requires a board with a regular LED
    #else
    const unsigned int LED_PIN = PICO_DEFAULT_LED_PIN; // 2:使用するピン番号
    gpio_init(LED_PIN); // 3:GPIOとして初期化
    gpio_set_dir(LED_PIN, GPIO_OUT); // 4:出力モードに設定
    while (true) {
        gpio_put(LED_PIN, 1); // 5:出力 High(3.3V)
        sleep_ms(250); // 250ミリ秒待機
        gpio_put(LED_PIN, 0); // 5:出力 Low(0V)
        sleep_ms(250);
    }
    #endif
}

箇条書きにすると

番号項目説明
ヘッダ#include <pico/stdlib.h> でGPIOやタイマ関数などを使えるようにする。
ピン番号指定使用するGPIO番号を定義。
※今回はPICO_DEFAULT_LED_PIN(通常GPIO25)が使用されている
GPIO初期化gpio_init(pin) で、指定ピンをGPIOとして使用可能にする
ピンの方向設定gpio_set_dir(pin, GPIO_OUT) で入出力を設定
※入力にする場合はGPIO_IN
出力gpio_put(pin, 1) で3.3Vを出力(ON)
gpio_put(pin, 0) で0Vを出力(OFF)

CMakeLists.txt に最低限必要な記述

target_link_libraries(プロジェクト名 pico_stdlib)

タイトルとURLをコピーしました