STM32資料 基礎編 1

LEDをつけてみよう

LEDをつけて、STMの開発の流れを覚えていこう!

今回やること

今回は3つのステップに沿ってLEDをつけてみる

通信などをするときも同じステップを踏むので慣れておこう!

作業の流れ

ピンの割り当て

STM32では、1つのピンに通信やLEDなどの機能を割り当てることができる

そのため、どの用途でどのピンを使うかを設定しなくてはならない

(プロジェクト名).iocをクリックすると画像のような画面が出てくるのでここで設定しよう

PA5にGPIO_Output(電圧を変えることができる機能)が割り当てられていることを確認しておこう

プログラム

LEDをつけるための関数

今回はLEDに与える電圧を設定することで、LEDをつけている

そこで、電圧を変更する関数について説明する

関数

HAL_GPIO_WritePin(GPIOx,GPIO_PIN_y, GPIO_PIN_SET);

この関数の引数

GPIOxやGPIO_PIN_yは整数型だけど、システム側で文字に対応するようになってるので

GPIOAなどと書くことができる

引数名 変数型 内容
GPIOx uint32_t GPIOの種類(xはGPIOの種類)
GPIO_PIN_y uint32_t ピンの種類(yはピン番号)
GPIO_PIN_SET GPIO_PinState SET: 3.3v RESET: 0.0v
細かいお話

待機する関数

タイミングを調整するために、一定時間待機する関数を使う

関数

HAL_Delay(Time);

この関数の引数

引数名 変数型 内容
Time uint32_t 待機時間(単位はミリ秒)

サンプルコード

実際にLEDを点灯させるコードを載せた

実際に実行してみたり、Delayの時間を変えたりしてみよう

#include "wrapper.hpp"
#include "gpio.h"

//起動時に一度だけ実行される
void init(){

    //LEDをつける
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5, GPIO_PIN_SET);
                    
    //1000ms(1s)待機
    HAL_Delay(1000);
}

//繰り返し実行される            
void loop(){
                
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5, GPIO_PIN_RESET);
                    
    HAL_Delay(500);
                    
    HAL_GPIO_WritePin(GPIOA,GPIO_PIN_5, GPIO_PIN_SET);
                    
    HAL_Delay(500);      
}

終わりに

今回はLEDをつけて、開発の流れを体験してもらいました!

次回は、2本の通信線を使ったシリアル通信について説明します!

リンク

・メインページ

・前のページ

・次のページ