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

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

   

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

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

(注)Mbed,Keil Studio Cloud とは,クラウドベースのArm マイコンのプログラム開発環境で,コードサイズの制限もなく,無償で使うことができる.

※ このセミナでは,事前にブレッド・ボード上に組み立てた教材を使います.そのため,電子回路組立の経験がない方でも参加できます.
※ マイコン・ボード Nucleo-F446RE,実装済みのブレッド・ボード,講師作成のプログラム,およびセミナで作成したプログラムはお持ち帰り可能です.


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



セミナのPR動画です! #C言語 #Cプラスプラスセミナ #プログラミング入門セミナ



●対象聴講者
 ・ 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に転送して表示している様子(500 Hzの方形波をAD変換器に入力した場合)
セミナで作るクラスを組み合わせて作ったスペクトラム・アナライザの処理結果をPCに転送して表示している様子(500 Hzの方形波をAD変換器に入力した場合)



スペクトラム・アナライザで使っているマイコン・ボード(Nucleo-F446)と外付け回路<br/>(実装済みのブレッド・ボードはお持ち帰り可能)
スペクトラム・アナライザで使っているマイコン・ボード(Nucleo-F446)と外付け回路
(実装済みのブレッド・ボードはお持ち帰り可能)



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

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



このセミナの参加募集について

 募集は終了いたしました 


類似するセミナをお探しの場合
以下にある「このセミナのタグ情報」の中から,ご希望のタグをお選び下さい. お選びいただいたセミナと同じタグ情報を持つセミナを一覧表示します.

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

コース

 1日コース

カテゴリ

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

シリーズ

 

特徴

 KIT付き
 ビギナ
 実習

キーワード

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

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

●〆切迫る!動画をチェック


【開催日】2026年1月14日(水)
★実習・基礎から学ぶRF回路設計「超」入門

https://seminar.cqpub.co.jp/ccm/ES25-0115


【開催日】2026年1月16日(金)
★実習・1日でわかる!CANプログラミング入門

https://seminar.cqpub.co.jp/ccm/ES25-0103


【開催日】2026年1月20日(火)
★ビギナ大歓迎!実習・ChatGPTとRaspberry Pi AIカメラでアプリケーションを作ってみる練習【ラズパイAIカメラ&生成AI有償版期限付き使用権付き】

https://seminar.cqpub.co.jp/ccm/ES25-0125


【開催日】2026年1月22日(木) ~ 2026年1月23日(金)
★実習・Verilog HDLによるFPGA開発・設計入門[FPGAボード使用]

https://seminar.cqpub.co.jp/ccm/ES25-0118


【開催日】2026年1月25日(日)
★半導体ESD設計入門

https://seminar.cqpub.co.jp/ccm/ES25-0117


【開催日】2026年1月26日(月)
★徹底解説!高速ビデオ・インターフェースの最新動向【オンライン限定セミナ】

https://seminar.cqpub.co.jp/ccm/ES25-0132


【開催日】2026年1月27日(火)
★手ぶらでOK!実習・1日でわかる!「実用」マイコンCプログラムの作り方~ビギナ応援企画【後閑 講師設計のオリジナル教材基板付き】

https://seminar.cqpub.co.jp/ccm/ES25-0133


【開催日】2026年1月28日(水)
★実習・ギガビット高速信号伝送技術の基礎と適用技術および評価

https://seminar.cqpub.co.jp/ccm/ES25-0120


【開催日】2026年1月30日(金)
★実習・はじめてのFPGA設計入門【Tang Nano 9K / Kiwi 1P5 +学習ベースボード付き…割引プランあり】

https://seminar.cqpub.co.jp/ccm/ES25-0123


【開催日】2026年2月3日(火)
★初めてのアナログ回路設計講座:高精度A/D変換の極意(その1)【オンライン同時開催セミナ】

https://seminar.cqpub.co.jp/ccm/ES25-0126


【開催日】2026年2月4日(水)
★初めてのアナログ回路設計講座:高精度A/D変換の極意(その2)【オンライン同時開催セミナ】

https://seminar.cqpub.co.jp/ccm/ES25-0127


【開催日】2026年2月5日(木) ~6日(金)
★実習・アナログ・フィルタ回路設計 基礎の基礎

https://seminar.cqpub.co.jp/ccm/ES25-0128


【開催日】2026年2月9日(月)
★装置におけるシールド/グラウンド設計法 [参考書籍付き]【オンライン限定セミナ】

https://seminar.cqpub.co.jp/ccm/ES25-0142


【開催日】2026年2月10日(火)
★手ぶらでOK!実習・マイコン通信インターフェースの使い方「超」入門【後閑 講師設計のオリジナル教材基板付き】

https://seminar.cqpub.co.jp/ccm/ES25-0134


【開催日】2026年2月13日(金)
★特別KIT付き★ 手ぶらでOK!実習・小型Linuxボードと無線LANモジュールを使ったWi-Fi開発の始め方

https://seminar.cqpub.co.jp/ccm/ES25-0042