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

UART Manager Header

UART Manager提供ヘッダ。 

UART Manager使用時にincludeして下さい。 

none

AXELL CORPORATION

2017_02_22 初版 

2017_10_26 Ver2.0

1: 9: 10: 14: 15: #ifndef _UARTMGR_H_ 16: #define _UARTMGR_H_ 17: 18: 19: #include <stdint.h> 20: #include "lib_common/AG903_common.h" 21: 22: #ifdef __cplusplus 23: extern "C" { 24: #endif 25: 26: 27: #define AG903_UART_CLK (100000000) 28: 29: 30: #define AG903_UART_BUFSIZE (512) 31: 32: 105: typedef uint32_t AG903_UARTMgrHandle; 106: 107: 126: typedef void (*AG903_UARTMgrClbk)(AG903_UARTMgrHandle* handle, uint32_t event); 127: 128: 133: typedef struct _AG903_UARTMgrParam { 134: uint32_t baud; 135: uint8_t parity; 136: uint8_t stopbit; 137: uint8_t databit; 138: uint8_t flow; 139: } AG903_UARTMgrParam; 140: 141: 148: typedef struct _AG903_UARTMgrRs485Param { 149: uint32_t setuptime; 150: uint32_t holdtime; 151: uint32_t rcvtime; 152: uint32_t interval; 153: uint32_t timeout; 154: uint32_t event; 155: } AG903_UARTMgrRs485Param; 156: 157: 158: int32_t AG903_UARTMgrInit(uint8_t ch); 159: int32_t AG903_UARTMgrGetHandle(uint8_t ch, AG903_UARTMgrHandle** handle); 160: int32_t AG903_UARTMgrReleaseHandle(AG903_UARTMgrHandle* handle); 161: int32_t AG903_UARTMgrSetCallback(AG903_UARTMgrHandle* handle, AG903_UARTMgrClbk clbk); 162: int32_t AG903_UARTMgrSetParam(AG903_UARTMgrHandle*handle, AG903_UARTMgrParam* param); 163: int32_t AG903_UARTMgrSetRs485Param(AG903_UARTMgrHandle*handle, AG903_UARTMgrRs485Param *param); 164: int32_t AG903_UARTMgrSend(AG903_UARTMgrHandle* handle, uint8_t* buf, uint32_t size, _Bool dma); 165: int32_t AG903_UARTMgrReceive(AG903_UARTMgrHandle* handle, _Bool dma); 166: int32_t AG903_UARTMgrGetReceiveData(AG903_UARTMgrHandle* handle, uint8_t* buf, uint32_t size); 167: int32_t AG903_UARTMgrStopSend(AG903_UARTMgrHandle* handle); 168: int32_t AG903_UARTMgrStopReceive(AG903_UARTMgrHandle* handle); 169: int32_t AG903_UARTMgrResetFifo(AG903_UARTMgrHandle* handle, uint8_t rstbit); 170: int32_t AG903_UARTMgrSetBreak(AG903_UARTMgrHandle* handle, _Bool enable); 171: 172: #ifdef __cplusplus 173: } 174: #endif 175: #endif
名前 
説明 
送信バッファサイズ 
イベント指定ビット (RS485キャラクタ間受信タイムアウト) 
CLK_FTPの周波数 [Hz] 
データビット指定 (5ビット) 
データビット指定 (6ビット) 
データビット指定 (7ビット) 
データビット指定 (8ビット) 
初期設定値 (ボー・レート) 
初期設定値 (データビット) 
初期設定値 (フロー制御) 
初期設定値 (パリティ) 
初期設定値 (ストップビット) 
イベント検出ビット (Break受信) 
イベント検出ビット (受信データ有) 
イベント検出ビット (FIFOデータエラー) 
イベント検出ビット (フレーミングエラー) 
イベント検出ビット (オーバーラン) 
イベント検出ビット (パリティエラー) 
イベント検出ビット (受信タイムアウト) 
イベント検出ビット (RS485キャラクタ間受信タイムアウト) 
イベント検出ビット (RS485受信タイムアウト) 
イベント検出ビット (送信データなし) 
イベント検出ビット (送信完了) 
フロー制御指定 (RTS/CTS) 
フロー制御指定 (なし) 
パリティ指定 (偶数) 
パリティ指定 (なし) 
パリティ指定 (奇数) 
イベント指定ビット (RS485受信タイムアウト) 
リセットFIFO指定 (RXFIFO) 
リセットFIFO指定 (TXFIFO) 
ストップビット指定 (1ビット) 
ストップビット指定 (1.5ビット) 
ストップビット指定 (2ビット) 
 
名前 
説明 
 
UART設定パラメータ
parity は右から指定します。 AG903_UART_PARITY_NON , AG903_UART_PARITY_EVEN , AG903_UART_PARITY_ODD
stopbit は右から指定します。 AG903_UART_STOPBIT_1 , AG903_UART_STOPBIT_1_5 , AG903_UART_STOPBIT_2
databit は右から指定します。 AG903_UART_DATBIT_5 , AG903_UART_DATBIT_6 , AG903_UART_DATBIT_7 , AG903_UART_DATBIT_8
flow は右から指定します。 AG903_UART_FLOW_NON , AG903_UART_FLOW_CTS 
 
RS485設定パラメータ
event は以下の各bitに”1”を指定するとイベントが有効になります。
 
 
UART設定パラメータ
parity は右から指定します。 AG903_UART_PARITY_NON , AG903_UART_PARITY_EVEN , AG903_UART_PARITY_ODD
stopbit は右から指定します。 AG903_UART_STOPBIT_1 , AG903_UART_STOPBIT_1_5 , AG903_UART_STOPBIT_2
databit は右から指定します。 AG903_UART_DATBIT_5 , AG903_UART_DATBIT_6 , AG903_UART_DATBIT_7 , AG903_UART_DATBIT_8
flow は右から指定します。 AG903_UART_FLOW_NON , AG903_UART_FLOW_CTS 
 
RS485設定パラメータ
event は以下の各bitに”1”を指定するとイベントが有効になります。
 
名前 
説明 
コールバック関数の型。
handleはUARTハンドル、eventはイベント検出ビットです。
eventのBitアサインは以下の通りです。
 
UARTハンドル 
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.