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