C2A_Core
uart.h ファイル

UART通信ラッパーのクラスです。 [詳解]

#include <stdint.h>
uart.h の依存先関係図:
被依存関係図:

[ソースコード]

データ構造

struct  UART_Config
 UARTポートの初期化、データ送信、データ受信の際に必要となる設定情報を格納する構造体 [詳解]
 

列挙型

enum  PARITY_SETTINGS {
  PARITY_SETTINGS_NONE , PARITY_SETTINGS_ODD , PARITY_SETTINGS_EVEN , PARITY_SETTINGS_MARK ,
  PARITY_SETTINGS_SPACE
}
 UART 用のパリティ設定 [詳解]
 
enum  UART_DATA_LENGTH { UART_DATA_LENGTH_7BIT , UART_DATA_LENGTH_8BIT }
 UART データ長 (7 or 8) [詳解]
 
enum  UART_STOP_BIT { UART_STOP_BIT_1BIT , UART_STOP_BIT_15BIT , UART_STOP_BIT_2BIT }
 UART ストップビット [詳解]
 
enum  UART_ERR_CODE {
  UART_UNKNOWN_ERR = -14 , UART_DATA_NEGA_ERR = -13 , UART_FIFO_FULL_ERR = -12 , UART_RX_ALL_ERR = -11 ,
  UART_FIFO_STOP_ERR = -10 , UART_PARITY_STOP_ERR = -9 , UART_STOP_BIT_ERR = -8 , UART_PARITY_FIFO_ERR = -7 ,
  UART_FIFO_OVER_ERR = -6 , UART_PARITY_ERR = -5 , UART_YET_ERR = -4 , UART_ALREADY_ERR = -3 ,
  UART_BAUDRATE_ERR = -2 , UART_CH_ERR = -1 , UART_OK = 0
}
 UART用の汎用エラーコード [詳解]
 

関数

int UART_init (void *my_uart_v)
 UART_CONFIG構造体をグローバルインスタンスとして定義し, ポインタを渡すことでポートを初期化する. [詳解]
 
int UART_rx (void *my_uart_v, void *data_v, int buffer_size)
 UART_CONFIG構造体にて指定されたchからデータを受信します [詳解]
 
int UART_tx (void *my_uart_v, void *data_v, int data_size)
 UART_CONFIG構造体にて指定されたchへデータを送信します [詳解]
 
int UART_reopen (void *my_uart_v, int reason)
 指定されたchを開きなおす [詳解]
 

詳解

UART通信ラッパーのクラスです。

覚え書き
UART,具体的にはUARTやLVTTLを想定している UART通信ラッパーは、 UARTのインターフェースを実現し、 UARTポートの初期化、データ送信、データ受信を行う、 UART通信ラッパーのクラスです。 個々の機器のインターフェースモジュールに継承させて使用します。

uart.h に定義があります。

列挙型詳解

◆ PARITY_SETTINGS

UART 用のパリティ設定

列挙値
PARITY_SETTINGS_NONE 

パリティチェックをしない

PARITY_SETTINGS_ODD 

奇数パリティ

PARITY_SETTINGS_EVEN 

偶数パリティ

PARITY_SETTINGS_MARK 

パリティが常に 1

PARITY_SETTINGS_SPACE 

パリティが常に 0

uart.h21 行目に定義があります。

◆ UART_DATA_LENGTH

UART データ長 (7 or 8)

列挙値
UART_DATA_LENGTH_7BIT 
UART_DATA_LENGTH_8BIT 

uart.h34 行目に定義があります。

◆ UART_ERR_CODE

UART用の汎用エラーコード

覚え書き
型はint8_tを想定しているが, if_listでラップされているためUARTの公開関数の返り値はintとなっている 基本負なのはRXの返り値は正が送ったByte数, 負がエラーコードとなっているため
列挙値
UART_UNKNOWN_ERR 

原因不明

UART_DATA_NEGA_ERR 

送受信データサイズが負のエラー

UART_FIFO_FULL_ERR 

TX時に送信FIFOフル

UART_RX_ALL_ERR 

パリティ and FIFO and ストップビット

UART_FIFO_STOP_ERR 

FIFO and ストップビット

UART_PARITY_STOP_ERR 

パリティ and ストップビット

UART_STOP_BIT_ERR 

ストップビットエラー

UART_PARITY_FIFO_ERR 

パリティ and FIFO

UART_FIFO_OVER_ERR 

FIFOオーバーラン

UART_PARITY_ERR 

パリティエラー

UART_YET_ERR 

チャンネル未オープン

UART_ALREADY_ERR 

チャンネルオープン済み

UART_BAUDRATE_ERR 

ボーレート異常

UART_CH_ERR 

チャンネル異常 (Port_configに無い)

UART_OK 

OKは0を踏襲

uart.h57 行目に定義があります。

◆ UART_STOP_BIT

UART ストップビット

列挙値
UART_STOP_BIT_1BIT 
UART_STOP_BIT_15BIT 
UART_STOP_BIT_2BIT 

uart.h44 行目に定義があります。

関数詳解

◆ UART_init()

int UART_init ( void *  my_uart_v)

UART_CONFIG構造体をグローバルインスタンスとして定義し, ポインタを渡すことでポートを初期化する.

引数
[in]my_uart_v初期化するUART_CONFIG構造体へのポインタ
戻り値
int if_listでintと統一されている
覚え書き
UART通信ラッパーのクラスを使用する時は起動時に必ず実施してください. この関数を実行する前にUART_CONFIG構造体内の設定値を設定しておく必要があります.

uart_sils.cpp12 行目に定義があります。

◆ UART_reopen()

int UART_reopen ( void *  my_uart_v,
int  reason 
)

指定されたchを開きなおす

引数
[in]my_uart_v: 開きなおす際のポート設定
[in]reason: repoenの理由を示すコードなど

uart_sils.cpp60 行目に定義があります。

◆ UART_rx()

int UART_rx ( void *  my_uart_v,
void *  data_v,
int  buffer_size 
)

UART_CONFIG構造体にて指定されたchからデータを受信します

引数
[in]my_uart_v: 対象とするUART_CONFIG構造体へのポインタ
[in]data_v: 受信データ格納先へのポインタ
[in]buffer_size: 受信データ格納先のデータサイズ
戻り値
0受信データなし
受信データバイト数
エラー. UART_ERR_CODE に従う

uart_sils.cpp17 行目に定義があります。

呼び出し関係図:

◆ UART_tx()

int UART_tx ( void *  my_uart_v,
void *  data_v,
int  data_size 
)

UART_CONFIG構造体にて指定されたchへデータを送信します

引数
[in]my_uart_v: 対象とするUART_CONFIG構造体へのポインタ
[in]data_v: 送信データ格納先へのポインタ
[in]data_size: 送信データサイズ
戻り値
int: UART_ERR_CODE に従う

uart_sils.cpp33 行目に定義があります。

呼び出し関係図:
被呼び出し関係図: