最近のマイコンは起動時は、多くの周辺が使えない状態(クロックが止めらている)になって消費電力を下げていることが多いです。 |
まずはGPIOを使うことを考えて、GD32VF103のマニュアルを確認します。 |
本ボード(Wio-Lite-RISC-V-GD32VF103)にはLEDが接続されているので、まず接続されているポートを確認します。 |
以下の回路図からPA8がポートと分かりました。 |
![](https://stat.ameba.jp/user_images/20221230/09/mcufamily/36/a0/j/o0572025015222941975.jpg?caw=800) |
|
GPIOのAの8番目と言う事で、GPIOAが最初から使えるのかを調べます。 |
調べていくと、APB2 enable register(RCU_APB2EN)にPAENというGPIO portAのEnableを制御するビットがあります。 |
Reset value=0x0000_0000ということなので、起動時には無効になっているとあります。 |
![](https://stat.ameba.jp/user_images/20221230/09/mcufamily/6a/a6/j/o0741089515222942033.jpg?caw=800) |
|
で、すこし気になったので、実際にRCU_APB2ENがリセット直後の値を調べてみる事にしました。 |
EWRISC-Vのプロジェクトオプションでデバッガ設定を以下のようにRun toのチェックを外すと、リセット直後の状態を確認することが出来ます。 |
![](https://stat.ameba.jp/user_images/20221230/09/mcufamily/da/b8/j/o0659054615222942177.jpg?caw=800) |
|
EWRISC-Vでは周辺レジスタを監視することが出来るので、リセット直後のRCUのレジスタを表示してみると以下になります。 |
あれ?? RCU_APB2ENの値がALLゼロでない!!!!!!!!!
![](https://stat.ameba.jp/user_images/20221230/09/mcufamily/18/39/j/o0608050415222942636.jpg?caw=800)
ということで、GPIOAが有効になっていたり、色々有効になっています。
最近のマイコンは複雑になっており、こうした事が多い気がしています。
なので、実機でも設定を確認しながら進めるのが良いのかな?と思っています。
|