home / tips / pic_lib / USART

USART:半2重シリアル通信モジュール

 本モジュールは、〜19200bps までの半2重のシリアル通信をサポートする。

初期化

 本モジュール使用開始時には、UsartInit をコールする必要がある。

受信

 UsartRecvStartをコールする事で受信状態にする。  1文字受信すると、受信データを iUsartRecvData に格納して、UsartRecvProc を呼び出す。
 受信処理は割込みを使用しているため、ユーザープログラムは別処理を行う事が出来る。

送信

 送信データを iUsartSendData に格納し、UsartSendStart を呼び出す事で送信処理を開始する。
 2文字以上の連続送信時、2文字目以降の送信起動は UsartSendCont を使用すること。
 送信処理は割込みを使用しているため、ユーザープログラムは別処理を行う事が出来る。

制限事項

 送信、受信を同時に行う事は出来ない。
 受信中の送信要求、送信中の受信要求は無効とする。


使用資源

file

filename内容最新
usart.asmソース Rev.1.02, 1998.11.25
usart.incヘッダ

Configuration

define意味
共通 USART_SEGセクション名
usart_work_topワークエリア先頭4Byteの領域が必要
SIO_RATEボーレート19200のみサポート
SIO_OUT_WORK_REG出力ポート対応のワークレジスタ
*SIO_CHECK_ASSERT指定禁止
*SIO_CHECK_NEGATE指定禁止
*SIO_POSITIVE入出力を POSITIVEモードに設定
*SIO_NEGATIVE入出力を NEGATIVEモードに設定
*SIO_COMMON_IO入出力多重モードを示す
入出力
多重
モード
SIO_IO_PORT_REG入出力ポートPORTA, 4のみサポート
SIO_IO_PORT_BIT
入出力
独立
モード
SIO_IN_PORT_REG入力ポート
SIO_IN_PORT_BIT
SIO_OUT_PORT_REG出力ポート
SIO_OUT_PORT_BIT

Function

名前 機能 入力 出力 備考
UsartInit 初期化
UsartRecvStart 受信開始
即 returnする。
受信終了時に UsartRecvProc を呼び出す。
UsartSendStart 送信開始
iUsartSendData=送信データ
即 returnする。
送信終了時に UsartSendProc を呼び出す。
UsartSendCont 送信開始
UsartRecvOneChar 1文字受信
W:受信データ
1文字受信するまで待つ。
UsartSendOneChar 1文字送信
W:送信データ
送信終了するまで待つ。

CallBack

名前 機能 備考
UsartRecvStartProc受信開始
UsartRecvProc1文字受信終了
UsartRecvAbortPorc1文字受信失敗
UsartSendProc1文字送信終了
UsartSendAbortProc1文字送信失敗

履歴
1998.12.08 新規作成