ac100vのアイコン画像
ac100v 2022年02月22日作成 © MIT
セットアップや使用方法 セットアップや使用方法 Lチカ Lチカ 閲覧数 1945
ac100v 2022年02月22日作成 © MIT セットアップや使用方法 セットアップや使用方法 Lチカ Lチカ 閲覧数 1945

Raspberry Pi Pico 組み込みRustでLチカ3題

はじめに

組み込みRustの勉強始めました。
組み込みなので、ハードウェアをいろいろ叩いたり、割り込み処理とかやりたいじゃないですか。でも現状サンプルコードや参考資料が少なく、土日で悶絶しながらどうにか3通りのLチカプログラムが書けました。
後に続く人が悶絶しなくても済むように、ソースコードをGitHubで公開しました。とりあえず動くと思います。

基本形

https://github.com/rp-rs/rp2040-project-template/tree/main/src

これは私が書いたものではないです。
メインループでdelay入れながらGPIOをパタパタさせるやつです。
これはこれでコードの意味を理解するまでに時間がかかったのですが、解説記事は他に任せます。

RP2040のPWM機能でRaspberry Pi PicoのLEDを点滅させます。

  • PWM
    • フリーランモードでの設定方法 (周期、デューティ)
    • スライス・チャネル

タイマー割り込みを発生させて、割り込みハンドラでRaspberry Pi PicoのLEDを点滅させます。

  • 例外ハンドラからHALを操作する
    • static 変数で共有
    • 排他制御 Mutex<RefCell<Option<共有変数>>>
  • タイマー割り込み
    • タイマー割り込みの発生方法
    • NVICでの割り込みマスク解除
    • 割り込みハンドラの書き方

Cortex-M のSysTickで周期的な割り込みを発生させて、SysTick例外ハンドラでRaspberry Pi PicoのLEDを点滅させます。

  • 例外ハンドラからHALを操作する
    • static 変数で共有
    • 排他制御 Mutex<RefCell<Option<共有変数>>>
  • SysTick
    • 周期割り込みの発生方法
    • 例外ハンドラの書き方
1
  • ac100v さんが 2022/02/22 に 編集 をしました。 (メッセージ: 初版)
ログインしてコメントを投稿する