Wave Technology(WTI)-ウェーブ・テクノロジ

WTIは技術者不足を解決する「開発設計促進業」です

▶ WTI新着情報 ▶ WTI会社概要 ▶ WTI人材採用(新卒中途)▶ WTI保有特許 ▶ お問い合わせ ▶ キャラクター紹介

組込みソフトウェア作成時のポイントを紹介します

はじめまして、ソフトウェア設計課の岩井と申します。

ソフトウェア設計課では、専用基板を制御するための組込みソフトウェアを多く作成しています。
その中で、今回は組込みソフトウェアを作成するときのポイントについて話をさせていただきます。

組込みソフトウェアで最も重要な性能はリアルタイム性(プログラムを停止させない/イベントをなるべく早く実行する)です。
例えば、WebなどでLEDの点滅(通称Lチカ)のサンプルプログラムを探すと、図1のようなものを目にします。しかし、組込みソフトウェアを作成するときに、図1のサンプルプログラムを参考にすることはオススメできません。簡単にLチカが理解できるように作られているため、拡張性がありません。というのは、「1秒待ち」の処理はマイコンがただ時間を待っているだけだからです。

 

図1 LED点滅フロー

 

組込みソフトウェアを作成するときのポイントは、リアルタイム性の確保:「常に流れるように」作成することです。

「常に流れるように」作るにはどうしたら良いでしょうか?それは割込み機能を使うことです。
割込み機能はマイコンに搭載されている機能で、条件が合致したときに指定の関数を呼び出すことができます。例えばタイマー割込みならメイン処理を実行中に時間がきたら「割込んで」別の処理をすることができます。

タイマー割込みを使って書き直したフローが図2です。

 

図2 タイマー割込みを使ったLED点滅フロー

 

タイマー割込みを1秒に設定すると、1秒ごとにタイマー割込み処理が動作します。
メイン処理は1秒経過したことをflagで検知できます。待つ必要がないので、キー入力や、通信処理といったいろいろな処理を続けて実行できます。

組込みソフトウェアを「常に流れるように」作成するために割込み機能を活用してみてください。
ワンランク上のソフトウェアが書けるようになります!

ソフトウェア開発でお困りの際は、WTIにお問合せ下さい。

*ちなみに、LEDの点滅にPWM制御を応用すれば、ホタルのような光り方も実現できますよ。

 

【関連リンク】

 

WTIメールマガジンの配信(無料)

WTIエンジニアが携わる技術内容や日々の業務に関わる情報などを毎週お届けしているブログ記事は、メールマガジンでも購読できます。ブログのサンプル記事はこちら

WTIメールマガジンの登録・メールアドレス変更・配信停止はこちら

 

WTI動画リンクはこちら
WTIの技術、設備、設計/開発会社の使い方、採用関連など、幅広い内容を動画で解説しています。

 

 Copyright © 2020 Wave Technology Inc. all rights reserved.