実習・Cより開発効率アップ! C++言語によるSTMマイコンのプログラミング入門(STM32CubeIDE を利用)【教材キット付き】

実習・Cより開発効率アップ! C++言語によるSTMマイコンのプログラミング入門(STM32CubeIDE を利用)【教材キット付き】
―― C++を使ってCより楽にマイコンのプログラムを作る方法をマスターする

   

【開催日】2026年9月3日(木) 10:00-17:00 1日コース
【セミナNo.】ES26-0060  【受講料】28,000円(税込)
【会場】東京・巣鴨 CQ出版社セミナ・ルーム [地図]
セミナ会場

 C++はC に比べて習得が難しいと思われているが,ポイントさえ適切に押えれば,ほんの少しの努力でC++を使えるようになる.C++を使えるようになれば,C よりもプログラミングが楽になり,効率のよいプログラム開発が可能になる.本セミナでは,組込みシステムのマイコンのプログラムを作ることを念頭におき,実習を通して,C++言語を使って効率の良く楽にプログラムを開発する手法について学ぶ. 
 ところで,マイコンのプログラム開発はC 言語で十分できるので,なぜC++言語を使うのかという疑問がわくかもしれない.C++言語を使うことの最大のメリットはクラス(class)を使えることである.クラスを適切に使えば,プログラムを完成させるまでの効率を大きくアップできる.たとえば,配列を使ったプログラムは原因不明の実行時エラーが発生し,デバッグで悩まされることがよくある.一方,C++言語を使えば,配列に相当するクラスで,インデックスが配列の範囲を越えないように監視できるようなクラスを作ることができる.これは一例で,クラスを使うメリットはそれ以外にも多い.
 このセミナでは,C++の標準クラスライブラリであるSTL(Standard Template Library)の簡単な使い方の例や,クラスのほかにもC++言語の便利な機能 ― 関数の引数の参照渡し,template 関数,関数のオーバーロード,など ― についても取り上げる.
 プログラム作成には,STMマイコンのプログラミングで定番の統合開発環境 STM32CubeIDE を使う.なお,STM32CubeIDE は,STM32CubeMX というグラフィカルな初期化コード生成ツールといっしょに使うことが想定されている.この STM32CubeMX は便利なツールであるが,一方で,これで生成されたソース・コードを使う場合には,自分のコードを追加する際に,種々の制約があり,わずらわしい面もある.そのため,このセミナでは基本的には,STM32CubeMX を使わない.
 このセミナは,従来のフリーで使えるプログラム開発環境であるMbed,Keil Studio Cloud(注) を利用していたセミナを,STM32CubeIDE(これもフリーで使える)を利用するように内容を改変したものである.加えて,STM32CubeIDE はC++17 などの新しいC++コンパイラにも対応しているので,C++の新しい機能も追加した内容になっている.
(注)Mbed,Keil Studio Cloud とは,クラウドベースのArm マイコンのプログラム開発環境で,コードサイズの制限もなく,無償で使うことができたが,これらは現在サポートが中止されている.

※ マイコン・ボード Nucleo-F446RE,講師作成のプログラム,およびセミナで作成したプログラムはお持ち帰り可能です.

●このセミナでは割引プランがございます…マイコン・ボードをお持ちの方はご検討ください
割引プランをご希望の方は,申込後,『割引プランで受講希望』 とメールでご返信ください.マイコン・ボードは事務局貸し出し品を使用して受講いただきます.受講料金は\3,000割引【25,000円(税込)】でご参加いただけます.


●対象聴講者
 ・ STM32CubeIDE を利用してC++ 言語でSTM マイコンのプログラムを作りたい方.
 ・ マイコンのプログラム開発で,主としてC 言語でプログラムを作っているが,
  C++言語も使おうと考えている方.
 ・ C++言語は使っており,他の人が作ったクラスも使っているが,
  自作のクラスは作ったことがない,または作ったことはあるがその経験が浅い方.
 ・ 自作のクラスを作って,それを活用したい方.
 ・ 組込みシステム開発で,C++言語を使ってプログラム開発の効率を上げたい方.

●講演の目標
 ・ STM32CubeIDE を使いC++ 言語でプログラムを作れるようになる.
 ・ C++ 言語の便利な機能を活用して,効率よくプログラムを作れるようになる.
 ・ 自作のクラスを作れるようになる.
 ・ 既存のクラスを継承する派生クラスを作れるようになる.
 ・ マイコンのペリフェラルに対応するクラスを作るための基礎を習得できる.

●内容
1.イントロダクション
 ・なぜC ではなくC++なのか
 ・STM32CubeIDE によるプログラム開発法
 ・STM32CubeIDE でprintf を使う方法

2.C++ を有効に使うための準備
 ・関数の引数として参照を使う
 ・関数のオーバーロード(多重定義)
 ・マイコンプログラミングに役立つSTL(Standard Template Library)
 ・動的メモリ領域の使い方とnew 演算子

3.関数template の使い方
 ・型(type)をtemplate の引数にする場合
 ・整数をtemplate の引数にする場合

4.class の基礎
 ・class の考え方と用語の整理
 ・コンストラクタとデストラクタ
 ・ アクセス指定子(public,private)
 ・ クラスのメンバの初期化
 ・ コピーコンストラクタと代入演算子
 ・ 演算子のオーバーロード
 ・ explicit の使い方
 ・ static データメンバとstatic メンバ関数
 ・ クラス内に割込みサービスルーチンを記述する

5.class の継承
 ・ 派生クラス
 ・ 仮想関数と純粋仮想関数

6.マイコンのプログラミングに役立つclass の事例紹介
 ・マイコン内蔵のAD 変換器を使うクラス(継承の例)
 ・シリアル通信用クラス(クラスの内に割込みサービスルーチンを記述する例)
 ・ 汎用1次元配列のためのtemplate クラス


セミナで作るクラスを組み合わせて作ったスペクトラム・アナライザの処理結果をPCに転送して表示している様子(基本周波数が 750 Hz で,5 倍波まで含む合成方形波)
セミナで作るクラスを組み合わせて作ったスペクトラム・アナライザの処理結果をPCに転送して表示している様子(基本周波数が 750 Hz で,5 倍波まで含む合成方形波)



スペクトラム・アナライザで使っているマイコン・ボード(Nucleo-F446RE)2台
スペクトラム・アナライザで使っているマイコン・ボード(Nucleo-F446RE)2台


【受講者が持参するもの】
作成したプログラムなどを持ち帰るためのUSBメモリなど.

【講師】
三上 直樹 氏〔職業能力開発総合大学校 名誉教授 〕
 1977~1987年北大助手.1987~2017年職業能力開発総合大学校講師,助教授,教授.工学博士.「はじめて学ぶディジタルフィルタと高速フーリエ変換」などの書籍やインターフェース誌,トランジスタ技術誌の記事多数.ディジタル信号処理を専門とする.



参加申し込み

このセミナに参加する

Webからのお申し込み

  以下の「参加申し込み」ボタンをクリックしてください.参加申し込みフォームを開きます.

参加申し込み

E-mailでのお申し込み

  Webの参加申し込みフォーム以外の申し込み方法をご希望の方は こちらのページ をご確認ください.

このセミナのタグ情報
各タグをクリックすると,類似するセミナの一覧を表示します.

コース

 1日コース

カテゴリ

 回路・電子部品
 組み込みシステム

シリーズ

 

特徴

 KIT付き
 ビギナ
 実習

キーワード

 クラウド
 コンピュータ
 ソフトウェア
 ボード
 マイコン
 開発環境
 開発手法
 研究開発
 制御
 電子工作

セミナ事務局からのお知らせ

●〆切迫る!動画をチェック
 画像を"クリック"すると動画が見られます!


【開催日】2026年7月24日(金)
★CMOS,CCDイメージ・センサの基礎と応用【オンライン同時開催セミナ】
https://seminar.cqpub.co.jp/ccm/ES26-0045


【開催日】2026年7月28日(火)
★実習・ラズパイで作るエッジAIカメラ装置
https://seminar.cqpub.co.jp/ccm/ES26-0048


【開催日】2026年7月31日(金)
★実習・車載ネットワーク入門講座 (CAN通信編)
https://seminar.cqpub.co.jp/ccm/ES26-0030


【開催日】2026年8月4日(火)
★実習・ビギナのためのC#によるWindowsアプリ開発入門
https://seminar.cqpub.co.jp/ccm/ES26-0052


【開催日】2026年8月5日(水)
★実習・ビギナのためのプログラミング:ArmマイコンとPCをシリアル通信でつなげて作るWindowsアプリケーションの開発入門[割引プランあり]
https://seminar.cqpub.co.jp/ccm/ES26-0051