STM32F3Discover GPIO input

前回はGPIOを使った出力でした。
今回は入力をしてみましょう。

と、いっても前回でGPIOはほとんどやってしまったのですごく簡単です。
前回ちゃんと見た人ならまず、ピン設定を入力にするにはどうしたらいいかわかるはずです。
MODERを0にします。これで入力になり、対応するピンに掛かる電圧の大きさからIDRの対応するビットが0か1になります。
ちなみに今使ってる基板にはUSER用のボタン(多分青色)があって、これはA0につながっています。
回路図を見ればわかりますが、ボタンにつながったA0はボタンを押すと電源電圧、離すとGNDになります。
今回はA0のONOFFをLEDのONOFFにしちゃいます。
やることとしては、GPIOAのクロックをONにする。モードを入力にする、プルアップ・プルダウンをなしにするでOKですね。
前回は出力だったのでOTYPERやODRを設定しましたが、入力ならなしです。

これが今回のプログラム。

while文の無限ループの中で GPIOAのIDRを8bit左にシフトしてGPIOEのODRに入れています。
ボタンはA0で、LEDはE8なのでIDRを8bit左シフトすることで ボタンのONOFFがちょうどLEDの出力になるようにしています。
(もちろん他のビットも一緒にシフトしているのでもし、他のところにもボタンがあったらODRに反映されます。今回は無視しています)

今回はあっさりと終了

コメントを残す