拡張RS232Cアクセスクラス.
[詳解]
#include <TnbRs232cEx.h>
|
virtual bool | CanReceive (void) const |
| [確認] 受信可能確認. [詳解]
|
|
virtual bool | CanSend (void) const |
| [確認] 送信可能確認. [詳解]
|
|
virtual EState | Check (void) const |
| [確認] チェック. [詳解]
|
|
virtual void | Close (void) |
| [処理] クローズ. [詳解]
|
|
| CRs232cEx (void) |
| コンストラクタ [詳解]
|
|
HANDLE | GetHandle (void) const |
| [取得] ハンドル取得 [詳解]
|
|
void | GetParameter (CPort &_comPort, DWORD &_dwBaudRate, BYTE &_bByteSize, EParity &_eParity, EStopBits &_eStopBits) const |
| [取得] オープン設定取得. [詳解]
|
|
virtual const TProperty & | GetProperty (void) const |
| [取得] 性能取得 [詳解]
|
|
virtual size_t | GetReceivingDataSize (void) const |
| [確認] 受信データ確認. [詳解]
|
|
virtual bool | IsConnect (void) const |
| [確認] 接続確認. [詳解]
|
|
bool | IsCtsSignalLow (void) const |
| [取得] CTS 確認. [詳解]
|
|
bool | IsCtsSignalOn (void) const |
| [取得] CTS 確認. [詳解]
|
|
bool | IsDsrSignalLow (void) const |
| [取得] DSR 確認. [詳解]
|
|
bool | IsDsrSignalOn (void) const |
| [取得] DSR 確認. [詳解]
|
|
virtual bool | IsOpened (void) const |
| [確認] オープン確認. [詳解]
|
|
bool | IsRingSignalLow (void) const |
| [取得] RING 確認. [詳解]
|
|
bool | IsRingSignalOn (void) const |
| [取得] RING 確認. [詳解]
|
|
bool | IsRlsdSignalLow (void) const |
| [取得] RLSD 確認. [詳解]
|
|
bool | IsRlsdSignalOn (void) const |
| [取得] RLSD 確認. [詳解]
|
|
virtual bool | Open (void) |
| [処理] オープン. [詳解]
|
|
bool | PaddingReceive (DWORD dwTime) |
| [操作] パディング読み込み [詳解]
|
|
virtual void | Purge (void) |
| [設定] パージ. [詳解]
|
|
virtual size_t | Receive (size_t size, LPVOID _P) |
| [処理] 受信. [詳解]
|
|
CThreadStatus & | ReferThreadStatus (void) |
| [参照] 監視スレッド状態参照. [詳解]
|
|
virtual size_t | Send (size_t size, LPCVOID P) |
| [処理] 送信. [詳解]
|
|
void | SetCheckCtsMode (bool r=true) |
| [設定] CTSチェック設定. [詳解]
|
|
bool | SetDtrSignal (bool isLow) |
| [設定] DTR 設定. [詳解]
|
|
void | SetListener (IListener *P) |
| [設定] リスナー登録. [詳解]
|
|
void | SetListenEvent (DWORD event) |
| [設定] 監視するイベント指定. [詳解]
|
|
DWORD | SetParameter (CPort comPort, DWORD dwBaudRate, BYTE bByteSize, EParity eParity, EStopBits eStopBits) |
| [設定] オープン設定. [詳解]
|
|
virtual bool | SetReceiveTimeout (DWORD to) |
| [設定] 受信待ち時間設定. [詳解]
|
|
bool | SetRtsSignal (bool isLow) |
| [設定] RTS 設定. [詳解]
|
|
void | SetSendMode (bool canBulk) |
| [設定] 送信設定. [詳解]
|
|
| ~CRs232cEx (void) |
| デストラクタ [詳解]
|
|
|
virtual HANDLE | CreatePort (LPCTSTR lpszPortName) const |
| [通知] ポート作成. [詳解]
|
|
virtual bool | OnRs232cOpening (HANDLE hComPort, DCB &_tDCB, COMMTIMEOUTS &_tCommTimeOuts) |
| [通知] オープン通知. [詳解]
|
|
virtual bool | ReadPort (size_t &_redSize, LPVOID _P, size_t len, HANDLE h) const |
| [通知] ポート読み込み. [詳解]
|
|
virtual DWORD | Run (void) |
| [動作] スレッド処理本体 [詳解]
|
|
virtual bool | WritePort (size_t &_writtenSize, size_t len, LPCVOID P, HANDLE h) const |
| [通知] ポート書き込み. [詳解]
|
|
拡張RS232Cアクセスクラス.
- 覚え書き
- リスナー内で SendMessage を使う場合、 ReferThreadStatus() で
関連ウィンドウ
を指定する 必要があります。 CThread::SetOwnerHwnd() を参照してください。
- 必要ファイル
- TnbRs232cEx.h
- 日付
- 09/11/13 新規作成
-
10/03/19 ReferThreadStatus() 追加。
TnbRs232cEx.h の 131 行目に定義があります。
◆ TDeviceVector
◆ anonymous enum
◆ EParity
パリティ設定値
列挙値 |
---|
Parity_Non | なしパリティ
|
Parity_Odd | 奇数パリティ
|
Parity_Even | 偶数パリティ
|
Parity_Mark | マークパリティ
|
Parity_Space | 空白パリティ
|
TnbRs232c.h の 194 行目に定義があります。
◆ EState
◆ EStopBits
ストップビット設定値
列挙値 |
---|
StopBits_1 | 1bit
|
StopBits_1_5 | 1.5bit
|
StopBits_2 | 2bit
|
TnbRs232c.h の 211 行目に定義があります。
◆ CRs232cEx()
◆ ~CRs232cEx()
◆ CanPortBeOpened()
static DWORD CanPortBeOpened |
( |
CPort |
comPort | ) |
|
|
staticinherited |
[確認] 指定ポートは開けるか
- 引数
-
comPort | COMポートナンバー。 数値でも文字列でも指定可能です。 |
- 戻り値
-
TnbRs232c.h の 802 行目に定義があります。
◆ CanReceive()
virtual bool CanReceive |
( |
void |
| ) |
const |
|
virtualinherited |
◆ CanSend()
virtual bool CanSend |
( |
void |
| ) |
const |
|
virtualinherited |
◆ Check()
virtual EState Check |
( |
void |
| ) |
const |
|
virtualinherited |
◆ Close()
virtual void Close |
( |
void |
| ) |
|
|
virtual |
◆ CreatePort()
virtual HANDLE CreatePort |
( |
LPCTSTR |
lpszPortName | ) |
const |
|
protectedvirtual |
[通知] ポート作成.
ポート作成時、コールされます。
- 引数
-
- 戻り値
-
INVALID_HANDLE_VALUE | 失敗。 |
上記以外 | 成功。値はハンドル。使用後は CloseHandle() してください。 |
CRs232cを再実装しています。
TnbRs232cEx.h の 360 行目に定義があります。
◆ EnumExistPortDeviceNames()
[取得] 存在するPort一覧
- 戻り値
- 存在するポートNo、名前一覧(Sizeが2でport内容が 1,4 なら "COM1" "COM4"が使用可能)
TnbRs232c.h の 873 行目に定義があります。
◆ EnumExistPorts()
[取得] 存在するPort一覧
- 戻り値
- 存在するポートNo一覧(Sizeが2で内容が 1,4 なら "COM1" "COM4"が使用可能)
TnbRs232c.h の 884 行目に定義があります。
◆ EnumExistPortsByUsb()
static CWordVector EnumExistPortsByUsb |
( |
WORD |
vid, |
|
|
WORD |
pid |
|
) |
| |
|
staticinherited |
[取得] USBシリアルPort一覧.
- 引数
-
vid | VendorID (USB) |
pid | ProductID (USB) |
- 戻り値
- 存在するポートNo一覧(Sizeが2で内容が 1,4 なら "COM1" "COM4"が使用可能)
TnbRs232c.h の 913 行目に定義があります。
◆ GetHandle()
HANDLE GetHandle |
( |
void |
| ) |
const |
|
inherited |
[取得] ハンドル取得
- 戻り値
-
NULL | オープンしていない。 |
NULL以外 | ハンドル |
TnbRs232c.h の 339 行目に定義があります。
◆ GetParameter()
void GetParameter |
( |
CPort & |
_comPort, |
|
|
DWORD & |
_dwBaudRate, |
|
|
BYTE & |
_bByteSize, |
|
|
EParity & |
_eParity, |
|
|
EStopBits & |
_eStopBits |
|
) |
| const |
|
inherited |
[取得] オープン設定取得.
SetParameter() で設定した値を取得できます。
- 引数
-
[out] | _comPort | ポートナンバー。 |
[out] | _dwBaudRate | 転送速度[bps] |
[out] | _bByteSize | キャラクタビット[bits] |
[out] | _eParity | パリティ(偶数/奇数) |
[out] | _eStopBits | ストップビット[bits] |
TnbRs232c.h の 251 行目に定義があります。
◆ GetProperty()
virtual const TProperty & GetProperty |
( |
void |
| ) |
const |
|
virtual |
◆ GetReceivingDataSize()
virtual size_t GetReceivingDataSize |
( |
void |
| ) |
const |
|
virtualinherited |
◆ IsConnect()
virtual bool IsConnect |
( |
void |
| ) |
const |
|
virtualinherited |
◆ IsCtsSignalLow()
bool IsCtsSignalLow |
( |
void |
| ) |
const |
|
inherited |
[取得] CTS 確認.
CTS(clear-to-send)信号の状態を確認します。
- 覚え書き
- JIS での名称は「CS(送信可)」。
- クロスケーブルの場合
RTS(7) ----------> CTS(8)
CTS(8) <---------- RTS(7)
- 戻り値
-
TnbRs232c.h の 686 行目に定義があります。
◆ IsCtsSignalOn()
bool IsCtsSignalOn |
( |
void |
| ) |
const |
|
inherited |
◆ IsDsrSignalLow()
bool IsDsrSignalLow |
( |
void |
| ) |
const |
|
inherited |
[取得] DSR 確認.
DSR(data-set-ready)信号の状態を確認します。
- 覚え書き
- JIS での名称は「DR(データセットレディ)」。
- クロスケーブルの場合
DTR(4) ----------> DSR(6)
DSR(6) <---------- DTR(4)
- 戻り値
-
TnbRs232c.h の 708 行目に定義があります。
◆ IsDsrSignalOn()
bool IsDsrSignalOn |
( |
void |
| ) |
const |
|
inherited |
◆ IsOpened()
virtual bool IsOpened |
( |
void |
| ) |
const |
|
virtualinherited |
◆ IsRingSignalLow()
bool IsRingSignalLow |
( |
void |
| ) |
const |
|
inherited |
[取得] RING 確認.
RING 信号の状態を確認します。
- 覚え書き
- 別表記として「RI」。
- 戻り値
-
TnbRs232c.h の 725 行目に定義があります。
◆ IsRingSignalOn()
bool IsRingSignalOn |
( |
void |
| ) |
const |
|
inherited |
◆ IsRlsdSignalLow()
bool IsRlsdSignalLow |
( |
void |
| ) |
const |
|
inherited |
[取得] RLSD 確認.
RLSD(receive-line-signal-detect)信号の状態を確認します。
- 覚え書き
- 別表記として「DCD」。
- 戻り値
-
TnbRs232c.h の 742 行目に定義があります。
◆ IsRlsdSignalOn()
bool IsRlsdSignalOn |
( |
void |
| ) |
const |
|
inherited |
◆ OnRs232cOpening()
virtual bool OnRs232cOpening |
( |
HANDLE |
hComPort, |
|
|
DCB & |
_tDCB, |
|
|
COMMTIMEOUTS & |
_tCommTimeOuts |
|
) |
| |
|
protectedvirtualinherited |
[通知] オープン通知.
オープン時、コールされます。
- 引数
-
[in] | hComPort | ハンドル |
[in,out] | _tDCB | 現在の DCB が渡されます。変更することで設定を変更できます。 |
[in,out] | _tCommTimeOuts | 現在の COMMTIMEOUTS が渡されます。変更することで設定を変更できます。 |
- 戻り値
-
true | オープン処理継続。 |
false | オープン処理中止(Openが失敗します)。 |
CRs232cHfで再実装されています。
TnbRs232c.h の 942 行目に定義があります。
◆ Open()
virtual bool Open |
( |
void |
| ) |
|
|
virtual |
◆ PaddingReceive()
bool PaddingReceive |
( |
DWORD |
dwTime | ) |
|
|
inherited |
[操作] パディング読み込み
- 覚え書き
- オープンしているポートで空読み込みをします。
- 引数
-
- 戻り値
-
TnbRs232c.h の 570 行目に定義があります。
◆ Purge()
virtual void Purge |
( |
void |
| ) |
|
|
virtualinherited |
◆ ReadPort()
virtual bool ReadPort |
( |
size_t & |
_redSize, |
|
|
LPVOID |
_P, |
|
|
size_t |
len, |
|
|
HANDLE |
h |
|
) |
| const |
|
protectedvirtual |
[通知] ポート読み込み.
ポート読み込み時、コールされます。
- 引数
-
[out] | _redSize | 書き込んだサイズが格納されます。 |
[out] | _P | 読み込みデータが格納されます。 |
[in] | len | 読み込みデータ最大 |
[in] | h | ハンドル |
- 戻り値
-
CRs232cを再実装しています。
TnbRs232cEx.h の 402 行目に定義があります。
◆ Receive()
virtual size_t Receive |
( |
size_t |
size, |
|
|
LPVOID |
_P |
|
) |
| |
|
virtual |
[処理] 受信.
- 引数
-
[in] | size | サイズ。 |
[out] | _P | データ。size 分のメモリは確保しておく必要があります。 |
- 戻り値
-
INVALID_SIZE | エラー。 |
0 | 受信データなし。 |
上記以外 | 受信データサイズ。 |
CRs232cを再実装しています。
TnbRs232cEx.h の 276 行目に定義があります。
◆ ReferThreadStatus()
◆ Run()
virtual DWORD Run |
( |
void |
| ) |
|
|
protectedvirtual |
◆ Send()
virtual size_t Send |
( |
size_t |
size, |
|
|
LPCVOID |
P |
|
) |
| |
|
virtualinherited |
◆ SetCheckCtsMode()
void SetCheckCtsMode |
( |
bool |
r = true | ) |
|
|
inherited |
[設定] CTSチェック設定.
CTS信号が立っている時だけ接続とするモードと、CTS信号を無視するモードを選択できます。
- 引数
-
r | ture なら CTS信号をチェックします。デフォルトはチェックしません。 |
TnbRs232c.h の 319 行目に定義があります。
◆ SetDtrSignal()
bool SetDtrSignal |
( |
bool |
isLow | ) |
|
|
inherited |
[設定] DTR 設定.
DTR(data-terminal-ready)信号の状態を設定します。
- 覚え書き
- JIS での名称は「ER(データ端末レディ)」。
- クロスケーブルの場合
DTR(4) ----------> DSR(6)
DSR(6) <---------- DTR(4)
- 引数
-
- 戻り値
-
TnbRs232c.h の 651 行目に定義があります。
◆ SetListener()
◆ SetListenEvent()
void SetListenEvent |
( |
DWORD |
event | ) |
|
[設定] 監視するイベント指定.
- 引数
-
event | 監視するイベント。以下のイベントを or で連結してしています。デフォルトは全て監視対象になっています。
- EV_BREAK – 入力上でブレークを検出したとき。
- EV_CTS – CTS( 送信可)信号の状態が変わったとき。
- EV_DSR – DSR( データセットレディ)信号の状態が変わったとき。
- EV_ERR – 回線状態エラーが発生したとき。回線状態エラーには、CE_FRAME、CE_OVERRUN、CE_RXPARITY があります。
- EV_RING – 呼び出し信号を検出したとき。
- EV_RLSD – RLSD( 受信線信号検出)信号の状態が変わったとき。
- EV_RXCHAR – 1 文字受信し、入力バッファに入れたとき。
- EV_RXFLAG – イベント文字を受信し、入力バッファに入れたとき。イベント文字はデバイスの DCB 構造体で指定します。この構造体を使ってシリアルポートを設定するには、SetCommState 関数を使います。
- EV_TXEMPTY – 出力バッファの最後の文字を送信したとき。
|
TnbRs232cEx.h の 199 行目に定義があります。
◆ SetParameter()
DWORD SetParameter |
( |
CPort |
comPort, |
|
|
DWORD |
dwBaudRate, |
|
|
BYTE |
bByteSize, |
|
|
EParity |
eParity, |
|
|
EStopBits |
eStopBits |
|
) |
| |
|
inherited |
[設定] オープン設定.
RS232Cの設定を行います。通常、 Open の前に使用します。
- 覚え書き
- Open 前に実行した場合必ず成功します。
-
オープン中、本メソッドでCOMポートナンバーを変更した場合、クローズされます。
-
オープン中、本メソッドを使用した場合、エラーになる可能性もあります。
- 引数
-
comPort | COMポートナンバー。 数値でも文字列でも指定可能です。 |
dwBaudRate | 転送速度[bps] |
bByteSize | キャラクタビット[bits] |
eParity | パリティ(偶数/奇数) |
eStopBits | ストップビット[bits] |
- 戻り値
-
TnbRs232c.h の 274 行目に定義があります。
◆ SetReceiveTimeout()
virtual bool SetReceiveTimeout |
( |
DWORD |
to | ) |
|
|
virtual |
◆ SetRtsSignal()
bool SetRtsSignal |
( |
bool |
isLow | ) |
|
|
inherited |
[設定] RTS 設定.
RTS(request-to-send)信号の状態を設定します。
- 覚え書き
- JIS での名称は「RS(送信要求)」。
- クロスケーブルの場合
RTS(7) ----------> CTS(8)
CTS(8) <---------- RTS(7)
- 引数
-
- 戻り値
-
TnbRs232c.h の 669 行目に定義があります。
◆ SetSendMode()
void SetSendMode |
( |
bool |
canBulk | ) |
|
|
inherited |
[設定] 送信設定.
送信設定をおこないます。デフォルトはバルク(一括)モードです。
- 引数
-
canBulk | ture ならバルク(一括)モードで送信します。 false なら、一バイトずつ送信します。 |
TnbRs232c.h の 309 行目に定義があります。
◆ WritePort()
virtual bool WritePort |
( |
size_t & |
_writtenSize, |
|
|
size_t |
len, |
|
|
LPCVOID |
P, |
|
|
HANDLE |
h |
|
) |
| const |
|
protectedvirtual |
[通知] ポート書き込み.
ポート書き込み時、コールされます。
- 引数
-
[out] | _writtenSize | 書き込んだサイズが格納されます。 |
[in] | len | 書き込みデータサイズ |
[in] | P | 書き込みデータ |
[in] | h | ハンドル |
- 戻り値
-
CRs232cを再実装しています。
TnbRs232cEx.h の 379 行目に定義があります。