こんにちは、ソフトウェア設計課の岩井と申します。
前回のブログに引き続き、組込みソフトウェア(ファームウェア)を作成するときのポイント、リアルタイム性の確保:「常に流れるように」作成する について話をさせていただきます。
図1 システム構成
図1のシステム構成でマイコンとモジュール間通信のプログラムを考えてみます。
モジュールのBusy信号は表1のようになっています。
表1 Busy信号
マイコンからコマンドAとコマンドBを送信します。
図2 逐次動作
図2のように順番に処理していくプログラムは簡単に書けますが、「Busy信号Low待ち」のステップは、信号がLowにならない限り動きません。「常に流れるように」できていません。
動作を管理する変数(mode)を導入すると、図3のように書き換えることができます。
図3 変更後フロー
図3では「常に流れるように」プログラムすることができました。
自分で使うテストプログラムならこれでOKですが、もう一工夫欲しいところです。
mode = 0 とmode = 2 の「Busy信号待ち」です。Busy信号がなんらかの原因でHighのままかもしれませんので、いつまでも待ってはいけません。次回は「Busy信号待ち」に対する工夫について話をします。
WTIでは、お客様から数多くの組み込みソフトウェア開発を受託しており、今回の「常に流れるように」を含め、信頼性/品質を意識して開発を行っています。ソフトウェア開発でお困りの際は、WTIにお問合せ下さい。
【関連リンク】
- IoT機器のOTA導入が意外と進まない理由とは
- IoT時代の開発者が知っておくべき組込みセキュリティ対策とは? PartⅡ
- IoT時代の開発者が知っておくべき組込みセキュリティ対策とは?
- 組込みソフトウェア作成時のポイントを紹介します
- Q-Learningでチーズパズルを解いてみました
- ESP32マイコンでOTA! Wi-Fiでプログラムを書き込む
- M5stackで簡易Wi-Fiチェッカーを作ってみました
- 無線モジュール搭載IoT機器の開発には幅広い知見と技術が必要です
- IoT化のお手伝い-ワンストップでアイデアを形にします
- 無線通信モジュールのコストを抑える方法とは
- Arduinoでイルミネーション制御をやってみた part1
WTIメールマガジンの配信(無料)
WTIエンジニアが携わる技術内容や日々の業務に関わる情報などを毎週お届けしているブログ記事は、メールマガジンでも購読できます。ブログのサンプル記事はこちら
WTIメールマガジンの登録・メールアドレス変更・配信停止はこちら
WTIの技術、設備、設計/開発会社の使い方、採用関連など、幅広い内容を動画で解説しています。