こんにちは、しおたにです。
前回、マイコンのピンに割り当てる機能を紹介しました。
今回はその続きです。
当ブログでは何人も紹介されておりますのでここでは簡単に触れたいと思います。
参考になる記事はこちら



さて、どのピンから割り当てていくべきか。
きっと基板パターンの都合なども考えていければ良いのでしょうが、何もわからなかったので特定のピンにのみ割り当てられる機能からやっていくことにしました。
書き込み用機能の割り当て
いくつかの機能は特定のピンにしか割り当てられないものがあります。その1つが書き込み・デバッグに用いるSWD機能です。
以前紹介したようにSTM32CubeIDEで機能割り当てを行っていきます。
以前は各ピンごとに機能を割り振りましたが、書き込みのように複数のピンを利用する機能の場合は左側のメニューから選びます。
- 書き込み関連の機能は「Categories」の「System Core」内にある「SYS」から選べます。
- 「Debug」からデバッグ機能を選べるので、「Trace Asynchronous Sw」を選びます。
するとこの機能で使うピンが自動的に書き換わります。便利
SPI通信機能の割り当て
SPI通信機能は「Connectivity」内にあります。「Mode」は「Full-Duplex Master」を選びます。
下の3ピンが書き換わりました。
タイマーを使う機能の割り当て
続いて割り当てるのはタイマーを使う機能にしました。
こちらもエンコーダモードなどは複数のピンを使います。
エンコーダ
「Timers」内にある「TIM1」などから選べます。
エンコーダの場合は「Combined Channels」から「Encoder Mode」を選びます。
TIM1のEncoder Modeでは右側のピン2つに割り当てられました。
エンコーダは2つ使うのでもう1つ設定しておきます。
PWM
PWM生成機能を使う場合は「Channel1」などから「PWM Generation CH1」などを選びます。今回は1つのモータに2つ使う予定ですので各タイマーに2つ設定しておきます。
今回は左右のモータ用に吸引ファン用の計3つタイマー機能を設定します。
A/D変換機能の割り当て
「Analog」内から選びますが、徐々にほかの機能でピンが埋められてくるので設定項目がカラフルになってきます。
設定できないピンは濃いピンクになり選択できなくなります。
今回は壁センサ用に4つ、バッテリの電圧を見るため別に1つ設定しました。
残りの割り当て
インジケータ出力やスイッチ入力で使用するGPIO機能など残りの機能を割り当てていきます。
ピンの場所をバラバラにすると配線が大変になりそうなので配置したいピンを選択して設定していきます。
出力するものはGPIO_Output、入力するものはGPIO_Inputですね。
名前をつける
今後の作業でも見分けがつきやすいように割り当てたピンには名前を付けておきます。
割り当てたピンを右クリックすると「Enter User Label」とあるので任意の名前を付けられます。
完成
前回もお見せしましたがこのようにして機能割り当てが完了しました。※後々問題が判明するので参考にはしないでください。
今回はここまで。
次回からKiCADの方に移り回路図を作っていきます。