STM32マイコンのプログラム開発の際には,STマイクロエレクトロニクス社(以降,STM社)からフリーで提供される統合開発環境STM32CubeIDEがよく使われている.このIDEには,マイコン自身やペリフェラル(注1)の初期設定用のプログラム・コードを,グラフィカルな操作により自動生成するSTM32CubeMX(注2)が統合されている.また,STM社から,汎用入出力(GPIO)やタイマなどのマイコン内蔵のペリフェラルのプログラミングで使うための,HALと呼ばれる,これもフリーで使えるAPIも提供されている.これらは非常に豊富な機能を持っているので,マイコンのプログラミングの経験者にとっては非常に強力な関発環境だ.しかし,これから初めてマイコンのプログラムを作ってみたいと考えているビギナにとっては,かなりハードルが高い.
そこでこのセミナでは,講師の開発した,ペリフェラル用のクラス・ライブラリとマイコン初期設定のための雛形を利用し,STM32CubeIDEを使ってプログラムを開発する方法について解説する(注3).これらを使うことにより,STM32CubeMXやHALを使う必要はなくなるので,超ビギナでもペリフェラルを使うプログラムを簡単に作れるようになる.この講師開発のクラス・ライブラリを使えば,マイコンのペリフェラルを使うようなプログラムでも,かなり本格的なものも作ることが可能となる.
応用例として,マイコンで取得したデータをパソコンでグラフ化して表示するプログラムや,パソコンからマイコンのペリフェラルをコントロールするプログラムも紹介する.
(注1)ペリフェラルとは,マイコンのCPUや内蔵メモリ以外の,外部との接続や特定の機能を実現するための内蔵要素のことで,GPIO(汎用I/Oポート),タイマ,AD/DA変換器,シリアル通信(UART,I2C,SPIなど)などがある.
(注2)STM32CubeMXは,従来はSTM32CubeIDEに組み込まれていたが,2025年11月から提供されているSTM32CubeIDE v2.0.0からは,それぞれ別のツールとなった.
(注3)プログラミング言語としてはC++ を使うが,あくまでも「Better C」的な使い方をするので,C++ の未経験者であっても受講する上では特に問題はない.
※ このセミナでは,事前にセミナ事務局でブレッド・ボード上に組み立てた教材を使います.そのため,電子回路組立の経験がない方でも大丈夫です.
※ セミナで使用するマイコン・ボード(Nucleo-C031C6)とブレッド・ボード上に作った回路,セミナで使った講師作成のプログラム,および作成したプログラムはお持ち帰り可能です.
※マイコン・ボードNucleo-C031C6をご持参の方は,受講費用を\2,000-引きでご参加いただけますので,お申し込み時にメールでご連絡ください.
● 対象聴講者
・これからマイコンのプログラミングを始めようと思っている未経験者.
・STM32CubeIDEでマイコンのプログラムを開発したいが,ハードルが高いと思っている方.
・STM32CubeIDEを利用して新しいプロジェクトを作る場合に,最初にSTM32CubeMXを利用して行うクロックの設定やペリフェラルの設定などをわずらわしいと思っている方.
・マイコンのペリフェラルを使うために提供されているHALライブラリでプログラム作るのは大変だと思っている方.
・マイコンのペリフェラルを使うプログラムをC++で簡単に作りたいと思っている方.
・ペリフェラルの割り込みを利用するプログラムを簡単に作りたいと思っている方.
・受講の条件:何らかのプログラミング言語で,プログラムを作ったことのある方が望ましい.
● 講演の目的
・STM32CubeIDEでマイコンのプログラムが開発できるようになること.
・マイコンのペリフェラルを使う基本的なプログラムをつくれるようになること.
1.マイコンを使うための第1歩
● セミナで使うマイコンの構成
● プログラム開発環境STM32CubeIDE
● 講師開発のクラス・ライブラリを使う「Lチカ」のプログラム
● STM32CubeIDEでprintfを使う
2.GPIOのプログラミング
● RGBフルカラーLEDの駆動
● 外付けスイッチの利用
3.割込み処理とタイマのプログラミング
● マイコン内蔵のタイマによる割込みの利用
● 外付けスイッチによる割込みの利用
● 割込み優先順位と多重割込み
● ソフトウェア割込み
4.シリアル・インターフェース(I2C)の使い方とセンサ,表示器のプログラミング
● I2Cによるデータ転送手順
● I2Cを利用するLCDキャラクタ表示器
● I2Cを利用する温度センサ
5.アナログ信号入力のプログラミング
● A-D変換器のプログラミング
● 温度センサの出力をA-D変換器で読込む
6.PWMのプログラミング
● LEDの明るさのコントロール
● RCサーボ・モータの駆動
7.マイコンの応用プログラミング - パソコンとのシリアル通信を利用する
● ターミナルとの通信
● マイコンで取得したデータをパソコンで表示する
● パソコンからマイコンのペリフェラルをコントロールする

