UARTコントローラ制御用ライブラリ
本モジュールは、以下の機能を提供します。
PIO送信時、データは本モジュール内の送信バッファにコピーされます。
本モジュール内で使用する送信バッファのサイズは AG903_UART_BUFSIZE で設定します。
UARTコントローラ入力クロック(CLK_FTP)の周波数は AG903_UART_CLK で設定します。
本モジュールが動作するために次のライブラリが必要です。
初期化シーケンス
<説明>
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を提供します。 | |
|