STM32 IO 操作(LED 点灯)

言語:
C
16 閲覧
0 お気に入り
5時間前

コード実装

C
#include "stm32f1xx_hal.h"

int main(void) {
    HAL_Init(); // Initialize the HAL library
    SystemClock_Config(); // Configure the system clock

    __HAL_RCC_GPIOC_CLK_ENABLE(); // Enable the GPIOC clock

    GPIO_InitTypeDef GPIO_InitStruct = {0};
    GPIO_InitStruct.Pin = GPIO_PIN_13; // Select the PC13 pin
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; // Configure as push-pull output
    GPIO_InitStruct.Pull = GPIO_NOPULL; // No pull-up/down resistor
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; // Low-speed mode
    HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); // Initialize the GPIO

    while (1) {
        HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13); // Toggle the state of PC13 pin
        HAL_Delay(500); // Delay for 500ms
    }
}

以下は HAL ライブラリを使用して LED を点灯させる簡単な STM32 プログラムの例です。

#STM32#LED

スニペット説明

  • 実際の開発においては、ご使用のSTM32の具体的なモデルに応じて、ピンとクロックの設定を調整してください。
  • プログラムをコンパイルした後、ST-LinkまたはJ-Linkなどのデバッグツールを使用してSTM32チップに書き込みます。すべて正常であれば、LEDが500ms間隔で点滅するのを確認できます。

おすすめスニペット

Hello World

C言語Hello Worldサンプル, Cは効率的なシステムレベルプログラミング言語で、多くのモダン言語の基盤です

C
#入門
9
0

関数デバウンシング

デバウンス関数は、JavaScript において高頻度且つ時間のかかる操作を最適化するための中核的ツールです。その核心ロジックは「関数の実行を遅延させる+繰り返される遅延をキャンセルする」ことで、短時間内に複数回トリガーされた関数が、最後のトリガー後に指定された遅延時間を待ってからのみ実行されるよう保証し、無駄な呼び出しによるパフォーマンス低下を回避します。 その動作原理は「エレベーターのドアを閉める過程」に例えて理解できます:エレベーターのドアが開いた後、デフォルトで一定時間(例:2 秒)待ってから閉まります。この待機中に新しい乗客が入ってくる場合(関数が新たにトリガーされることに対応)、元の待機タイマーはキャンセルされ、カウントダウンが再開されます。カウントダウンが終了しても新しいトリガーがない場合に限り、「ドアを閉める」動作(関数の実行に対応)が行われます。

JavaScript
#関数デバウンシング
35
0

Hello World

Perl Hello Worldサンプル, Perlは強力なテキスト処理言語で、その柔軟性と豊富な正規表現サポートで知られています

Perl
#入門
14
0

コメント

読み込み中...