秋月電子で140円で売っていた最安のSTM32マイコンであるSTM32C011J4M7を使ってLチカをやってみます。

このマイコンの特徴はSOP8パッケージであることで、8ピンしかないために自由に使えるピンが電源用ピンを除いた6ピンしかないことになります。
しかも6ピン使うためにはリセットピンすら使えないことになります。使いこなしスキルが求められますね。
では早速ピン配置を確認してみます。下図のようになっていて、1つのピンに様々な機能が割り振られていることが感じ取れます。

ピン配置が分かったので次はLチカのプログラムを書き込んでみようと思います。書き込みにはNucleoの上半分をST-Linkとして使っていきます。
ST-Linkとして使うときはこの図のようにコネクタから信号を引き出します。
CN2と書いてあるジャンパピン2個のジャンパは外しておきます。(2個とも接続するとNucleoとして、2個とも外すとST-Linkとして使えます)

書き込み対象のマイコン側はデータシートを見ると下図のように書いてあるのでST-Linkと合うように接続します。


接続が完了したら次はプログラムを作成します。開発にはSTM32CubeIDEを使っていきます。

新規プロジェクトを作成する画面でチップの名前「STM32C011J4M6」を指定します。プロジェクト名は適当に指定してプロジェクトを作成します。

ピンの設定画面になるのでSerial Write (SWD)を有効にします。これでピン7とピン8の2ピンが使われてしまいますがまずはこうします。
次にLEDに接続する分のピンを空いているピンに割り当てます。今回はピン6 (PA12)を割り当てました。GPIO_Outputに指定してわかりやすいラベルを付けておくといいです。

そしてコード生成をするとmain.cなどのソースコード一式が生成されます。適当にLチカするプログラムをmain関数のwhileループ内に書きます。HALのAPIを使いました。

メニューバーの”Run” > “Debug Configurations”を開いてDebug probeがST-LINKになっていることを確認します。またInterfaceはSWDにチェックを入れます。
ここまで設定したら”Debug”または”Run”を押してチップにプログラムを書き込みます。
書き込みが完了してプログラムが動き出すと早速Lチカの様子を見れます。もちろん先ほど指定したピン6にはLEDを接続しておく必要があります。
以上で秋月電子で最安のSTM32を使った開発ができるようになりました。ピン数が少ないのでSPI, I2C, UARTなどのシリアル通信など凝ったことをやろうとすると少し大変ですがぜひ皆さんも使ってみてください!


コメント