標準COMドライバ、使用方法についての補足

弊社RTOS「μC3/Compact」、「μC3/Standard」に関するご質問
返信する
アバター
eForce技術担当
記事: 193
登録日時: 2014年4月24日(木) 14:18

標準COMドライバ、使用方法についての補足

投稿記事 by eForce技術担当 » 2018年9月05日(水) 12:38

内容:
標準COMドライバの使用方法について

本文:
μC3のユーザーズガイドに、標準COMポートドライバの説明がございますので、
まずは、こちらを参照してください。
下記に補足を記載します。

【注意事項】
標準COMポートドライバを利用した、送信・受信については、複数のタスクからの呼び出しを実施することは可能ですが、
その場合、同時に呼び出しを実施しないようにセマフォ等を利用し、アプリケーション側で排他制御をすることが
前提(必要)となります。
例えば、複数のアプリケーションから、送信処理(puts_com)を実施する場合には、アプリケーション側で、
送信処理に対して、セマフォ等を利用することで、排他制御をお願いします。
また、排他の方法としては、下記の概要図のように、セマフォ以外に、シリアル出力を実施するタスクを一つにし、
複数のタスクから、出力するタスクに送信するデータを渡す例などもありますので、参考にしてください。
uart_driver_use.jpg
なお、関連する情報として、ctr_com サービスコールの制御コマンドをLOC_TXまたは、LOC_RXとして呼び出すことで、
ctr_comを呼び出したタスク以外から、標準COMポートドライバの送信または、受信のサービスコールを呼び出した場合には、
送受信処理は実施させないことができます(この場合には、E_OBJが返ります)。

返信する