フレッシャーズのための組み込みソフト開発講座 ――新人エンジニアがまわりの信頼を勝ち得るには...

宿口雅弘

tag: 組み込み

技術解説 2002年3月14日

●割り込み禁止とデータ量についてのトラブルを経験

 ここで,筆者の過去の失敗を紹介します.これは,割り込み禁止区間を考えていなかったため,仕様変更に耐えられなかった設計の例です.

 筆者は,シリアル通信プログラムを作成しました.データ受信時に割り込みを発生させ,割り込みハンドラでデータを受信します.上位プログラム(上位階層のプログラム)からの受信要求があるまでは,受信データは内部バッファに格納しておき,受信要求が来たときにタスク環境(割り込みハンドラではない)において内部バッファのデータを上位プログラムのバッファに転送する機能を持っていました(図3)

 当初,最大データ長が128バイトだったので,内部バッファ・サイズも128バイトにしました.129バイト以上のデータが送信されてきた場合は,後から受信したデータを捨てることにしました(一応は,バッファ・サイズを気にしていた).データの正当性の判定は,上位プログラムで実施しました.

f03_01.gif
〔図3〕作成したシリアル通信プログラムの概要
データ受信時に割り込みを発生させ,割り込みハンドラでデータを受信する.上位プログラムからの受信要求があるまでは,受信データは内部バッファに格納しておき,受信要求が来たときには,タスク環境において内部バッファのデータを上位プログラムのバッファに転送する機能を持っている.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日