AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
UART

UARTコントローラ制御用ライブラリ

本モジュールは、以下の機能を提供します。

  1. UARTコントローラの制御。
  2. UART/RS485でのPIO送受信。
  3. UART/RS485でのDMA送受信。

 

PIO送信時、データは本モジュール内の送信バッファにコピーされます。 

本モジュール内で使用する送信バッファのサイズは AG903_UART_BUFSIZE で設定します。 

UARTコントローラ入力クロック(CLK_FTP)の周波数は AG903_UART_CLK で設定します。

本モジュールは DMAC に対する処理は行いません。 

DMA送受信を行う場合は DMAC モジュールを使用して設定を行って下さい。 

 

本モジュールはシステムレジスタへのアクセスはサポートしません。 

コントローラに対するクロックの供給については『AX51903仕様書』を参照して下さい。 

 

本モジュールはRI、DCD、DSR、DTRを使用したモデム制御には対応していません。

本モジュールが動作するために次のライブラリが必要です。

初期化シーケンス 

 

<説明> 

1. モジュール初期化。「AG903_UARTMgrInit」 

通信パラメータは以下の定義に従って設定されます。 

AG903_UART_DFLT_BAUD , AG903_UART_DFLT_PARITY , AG903_UART_DFLT_STOPBIT , AG903_UART_DFLT_DATBIT , AG903_UART_DFLT_FLOW 

 

注:コントローラに対するクロックの供給を予めシステムレジスタで設定しておく必要があります。詳細は『AX51903仕様書』参照。 

 

PIO送信シーケンス 

 

<説明> 

1. ハンドル取得。「AG903_UARTMgrGetHandle」 

2. 通信パラメータ設定。「AG903_UARTMgrSetParam」 ※初期化時から変更しない場合は省略可能。 

3. コールバック登録。「AG903_UARTMgrSetCallback」 

4. 送信開始。「AG903_UARTMgrSend」 

5. 指定サイズ分の送信をし終えるまで、割込み要因に応じた処理を実施。 

6. 指定サイズ分の送信完了でコールバック。 

7. 送信停止。「AG903_UARTMgrStopSend」 

8. ハンドル解放。「AG903_UARTMgrReleaseHandle」 

 

※RS485通信を行う場合は通信パラメータ設定に加えてRS485パラメータ設定を行います。 

RS485パラメータ設定。「AG903_UARTMgrSetRs485Param」 

 

DMA送信シーケンス 

 

<説明> 

1. ハンドル取得。「AG903_UARTMgrGetHandle」 

2. 通信パラメータ設定。「AG903_UARTMgrSetParam」 ※初期化時から変更しない場合は省略可能。 

3. コールバック登録。「AG903_UARTMgrSetCallback」 ※送信完了コールバックが不要な場合は省略可能。 

4. DMAC転送開始。(手順は『DMACManagerリファレンスマニュアル』参照) 

5. 送信開始。「AG903_UARTMgrSend」 ※送信完了のコールバックが不要な場合は省略可能。(本関数をコールしなくても送信は行われます。) 

6. DMAC転送完了通知。(詳細は『DMACManagerリファレンスマニュアル』参照) 

7. UART送信完了(送信FIFO空)でコールバックします。(AG903_UARTMgrSend関数使用時のみ。) 

8. 送信停止。「AG903_UARTMgrStopSend」 ※AG903_UARTMgrSend関数を使用していない場合は省略可能。 

9. ハンドル解放。「AG903_UARTMgrReleaseHandle」 

 

※RS485通信を行う場合は通信パラメータ設定に加えてRS485パラメータ設定を行います。 

RS485パラメータ設定。「AG903_UARTMgrSetRs485Param」 

 

※注1:UARTコントローラは送信FIFO EmptyでDMAリクエストを出力します。 

従って通信パラメータの設定はDMAC転送開始前に行って下さい。 

 

PIO受信シーケンス 

 

<説明> 

1. ハンドル取得。「AG903_UARTMgrGetHandle」 

2. 通信パラメータ設定。「AG903_UARTMgrSetParam」 ※初期化時から変更しない場合は省略可能。 

3. コールバック登録。「AG903_UARTMgrSetCallback」 

4. 受信開始。「AG903_UARTMgrReceive」 

5. データ受信でコールバック。 

6. 受信データ取得。「AG903_UARTMgrGetReceiveData」 任意のデータサイズ受信まで5~6を繰り返し。 

7. 受信停止。「AG903_UARTMgrStopReceive」 

8. ハンドル解放。「AG903_UARTMgrReleaseHandle」 

 

※RS485通信を行う場合は通信パラメータ設定に加えてRS485パラメータ設定を行います。 

RS485パラメータ設定。「AG903_UARTMgrSetRs485Param」 

 

DMA受信シーケンス 

 

<説明> 

1. ハンドル取得。「AG903_UARTMgrGetHandle」 

2. 通信パラメータ設定。「AG903_UARTMgrSetParam」 ※初期化時から変更しない場合は省略可能。 

3. コールバック登録。「AG903_UARTMgrSetCallback」 ※通信エラーのコールバックが不要な場合は省略可能。 

4. 受信開始。「AG903_UARTMgrReceive」 ※通信エラーのコールバックが不要な場合は省略可能。(本関数を使用しなくても受信は行われます。) 

5. DMAC転送開始。(手順は『DMACManagerリファレンスマニュアル』参照) 

6. DMAC転送完了通知。(詳細は『DMACManagerリファレンスマニュアル』参照) 

7. 受信停止。「AG903_UARTMgrStopSend」 ※AG903_UARTMgrReceive関数を使用していない場合は省略可能。 

8. ハンドル解放。「AG903_UARTMgrReleaseHandle」 

 

※RS485通信を行う場合は通信パラメータ設定に加えてRS485パラメータ設定を行います。 

RS485パラメータ設定。「AG903_UARTMgrSetRs485Param」 

 

※注2:UARTコントローラは受信FIFOに1つでもデータが入るとDMAリクエストを出力します。 

FIFOがオーバーランする前にDMACをEnableにして下さい。(FIFOサイズは16Byteです。)

名前 
説明 
アプリケーションにUARTコントローラ制御の為のI/Fを提供します。 
マネージャにUARTコントローラレジスタアクセスの為のI/Fを提供します。 
 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.