C2A_Core
uart.h
[詳解]
1 
12 #ifndef UART_H_
13 #define UART_H_
14 
15 #include <stdint.h>
16 
21 typedef enum
22 {
29 
34 typedef enum
35 {
39 
44 typedef enum
45 {
50 
57 typedef enum
58 {
69  UART_YET_ERR = -4,
72  UART_CH_ERR = -1,
73  UART_OK = 0
75 
80 typedef struct
81 {
82  uint8_t ch;
84  uint32_t baudrate;
88 } UART_Config;
89 
97 int UART_init(void* my_uart_v);
98 
99 
109 int UART_rx(void* my_uart_v, void* data_v, int buffer_size);
110 
111 
119 int UART_tx(void* my_uart_v, void* data_v, int data_size);
120 
121 
127 int UART_reopen(void* my_uart_v, int reason);
128 
129 #endif
C89 環境用 stdint.h
UARTポートの初期化、データ送信、データ受信の際に必要となる設定情報を格納する構造体
Definition: uart.h:81
char * device_file_name
継承先の機器がつながっているファイル名 (Linuxなどのデバイスファイル環境向け)
Definition: uart.h:83
PARITY_SETTINGS parity_settings
パリティ設定
Definition: uart.h:85
UART_DATA_LENGTH data_length
データ長
Definition: uart.h:86
uint32_t baudrate
継承先の機器のボーレート値
Definition: uart.h:84
uint8_t ch
継承先の機器がつながっているポート番号
Definition: uart.h:82
UART_STOP_BIT stop_bit
ストップビット
Definition: uart.h:87
int UART_reopen(void *my_uart_v, int reason)
指定されたchを開きなおす
Definition: uart_sils.cpp:60
int UART_init(void *my_uart_v)
UART_CONFIG構造体をグローバルインスタンスとして定義し, ポインタを渡すことでポートを初期化する.
Definition: uart_sils.cpp:12
UART_ERR_CODE
UART用の汎用エラーコード
Definition: uart.h:58
@ UART_UNKNOWN_ERR
原因不明
Definition: uart.h:59
@ UART_FIFO_OVER_ERR
FIFOオーバーラン
Definition: uart.h:67
@ UART_PARITY_STOP_ERR
パリティ and ストップビット
Definition: uart.h:64
@ UART_PARITY_FIFO_ERR
パリティ and FIFO
Definition: uart.h:66
@ UART_FIFO_STOP_ERR
FIFO and ストップビット
Definition: uart.h:63
@ UART_FIFO_FULL_ERR
TX時に送信FIFOフル
Definition: uart.h:61
@ UART_STOP_BIT_ERR
ストップビットエラー
Definition: uart.h:65
@ UART_CH_ERR
チャンネル異常 (Port_configに無い)
Definition: uart.h:72
@ UART_DATA_NEGA_ERR
送受信データサイズが負のエラー
Definition: uart.h:60
@ UART_OK
OKは0を踏襲
Definition: uart.h:73
@ UART_RX_ALL_ERR
パリティ and FIFO and ストップビット
Definition: uart.h:62
@ UART_PARITY_ERR
パリティエラー
Definition: uart.h:68
@ UART_BAUDRATE_ERR
ボーレート異常
Definition: uart.h:71
@ UART_YET_ERR
チャンネル未オープン
Definition: uart.h:69
@ UART_ALREADY_ERR
チャンネルオープン済み
Definition: uart.h:70
int UART_tx(void *my_uart_v, void *data_v, int data_size)
UART_CONFIG構造体にて指定されたchへデータを送信します
Definition: uart_sils.cpp:33
UART_DATA_LENGTH
UART データ長 (7 or 8)
Definition: uart.h:35
@ UART_DATA_LENGTH_7BIT
Definition: uart.h:36
@ UART_DATA_LENGTH_8BIT
Definition: uart.h:37
PARITY_SETTINGS
UART 用のパリティ設定
Definition: uart.h:22
@ PARITY_SETTINGS_NONE
パリティチェックをしない
Definition: uart.h:23
@ PARITY_SETTINGS_EVEN
偶数パリティ
Definition: uart.h:25
@ PARITY_SETTINGS_SPACE
パリティが常に 0
Definition: uart.h:27
@ PARITY_SETTINGS_MARK
パリティが常に 1
Definition: uart.h:26
@ PARITY_SETTINGS_ODD
奇数パリティ
Definition: uart.h:24
UART_STOP_BIT
UART ストップビット
Definition: uart.h:45
@ UART_STOP_BIT_1BIT
Definition: uart.h:46
@ UART_STOP_BIT_15BIT
Definition: uart.h:47
@ UART_STOP_BIT_2BIT
Definition: uart.h:48
int UART_rx(void *my_uart_v, void *data_v, int buffer_size)
UART_CONFIG構造体にて指定されたchからデータを受信します
Definition: uart_sils.cpp:17