はじめに
組み込みRustの勉強始めました。
組み込みなので、ハードウェアをいろいろ叩いたり、割り込み処理とかやりたいじゃないですか。でも現状サンプルコードや参考資料が少なく、土日で悶絶しながらどうにか3通りのLチカプログラムが書けました。
後に続く人が悶絶しなくても済むように、ソースコードをGitHubで公開しました。とりあえず動くと思います。
基本形
https://github.com/rp-rs/rp2040-project-template/tree/main/src
これは私が書いたものではないです。
メインループでdelay入れながらGPIOをパタパタさせるやつです。
これはこれでコードの意味を理解するまでに時間がかかったのですが、解説記事は他に任せます。
PWM
RP2040のPWM機能でRaspberry Pi PicoのLEDを点滅させます。
- PWM
- フリーランモードでの設定方法 (周期、デューティ)
- スライス・チャネル
タイマー
タイマー割り込みを発生させて、割り込みハンドラでRaspberry Pi PicoのLEDを点滅させます。
- 例外ハンドラからHALを操作する
- static 変数で共有
- 排他制御 Mutex<RefCell<Option<共有変数>>>
- タイマー割り込み
- タイマー割り込みの発生方法
- NVICでの割り込みマスク解除
- 割り込みハンドラの書き方
SysTick
Cortex-M のSysTickで周期的な割り込みを発生させて、SysTick例外ハンドラでRaspberry Pi PicoのLEDを点滅させます。
- 例外ハンドラからHALを操作する
- static 変数で共有
- 排他制御 Mutex<RefCell<Option<共有変数>>>
- SysTick
- 周期割り込みの発生方法
- 例外ハンドラの書き方
1
投稿者の人気記事
-
ac100v
さんが
2022/02/22
に
編集
をしました。
(メッセージ: 初版)
ログインしてコメントを投稿する