CanGetCanTiming


機能

CANの通信タイミング設定を取得します。

書式

Ret = CanGetCanTiming ( Id , ChannelNo , Bitrate , TSeg1 , SJW , TSeg2 )

引数

Id [ VB.NET: Short ] [ C, C++: short ] [ C#: short ] [ Python: ctypes.c_short ]
CanInitで取得したデバイスIDを指定します。

ChannelNo [ VB.NET: UShort ] [ C, C++: unsigned short ] [ C#: ushort ] [ Python: ctypes.c_ushort ]
チャネル番号を指定します。

Bitrate [ VB.NET: UInteger ] [ C, C++: unsigned long * ] [ C#:out uint ] [ Python: ctypes.POINTER(ctypes.c_uint) ]
ビットレートを取得します。単位はbpsです。(bit per second)

TSeg1 [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
時間セグメント1を取得します。単位は TQです。

SJW [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
同期ジャンプ幅を取得します。単位は TQです。

TSeg2 [ VB.NET: UShort ] [ C, C++: unsigned short * ] [ C#: out ushort ] [ Python: ctypes.POINTER(ctypes.c_ushort) ]
時間セグメント2を取得します。単位は TQです。

戻り値

Ret [ VB.NET: Integer ] [ C, C++: long ] [ C#: int ] [ Python: ctypes.c_long ]

定義

戻り値
[Dec]

内容

CAN_ERR_SUCCESS

0

正常終了

CAN_ERR_SYS_RECOVERED_FROM_STANDBY

7

スタンバイモードから復帰したため、CanResetDevice関数を実行してください

CAN_ERR_DLL_INVALID_ID

10001

無効なIDが指定されました。

CAN_ERR_DLL_CALL_DRIVER

10002

ドライバーを呼び出せません(デバイスI/Oコントロールに失敗)。

CAN_ERR_DLL_BUFF_ADDRESS

10100

データバッファアドレスが不正です。

CAN_ERR_SYS_CH_NO

20101

チャネル番号が設定可能範囲外です

その他のエラー(参照:エラーコード詳細

初期値

なし

説明

CANの通信タイミング設定を取得します。
CANバス接続時でも、利用可能です。

詳細は、CAN通信の伝送時間を参照ください。

使用例

ChannelNo = 1に設定されているBitrate、TSeg1、SJW、TSeg2を取得します。

VB.NET

Dim Ret As Integer

Dim Bitrate As UInteger

Dim TSeg1 As UShort

Dim SJW As UShort

Dim TSeg2 As UShort

Ret = CanGetCanTiming ( Id , 1 , Bitrate , TSeg1 , SJW , TSeg2 )
 

C, C++

long Ret;

unsigned long Bitrate;

unsigned short TSeg1;

unsigned short SJW;

unsigned short TSeg2;
Ret = CanGetCanTiming ( Id , 1 , &Bitrate , &TSeg1 , &SJW , &TSeg2 );
 

C#

int Ret;

ulong Bitrate;

ushort TSeg1;

ushort SJW;

ushort TSeg2;
Ret = can.GetCanTiming ( Id , 1 , out Bitrate , out TSeg1 , out SJW , out TSeg2 );
 

Python

Ret = ctypes.c_long()

Bitrate = ctypes.ctypes.c_uint()

TSeg1 = ctypes.c_ushort()

SJW = ctypes.c_ushort()

TSeg2 = ctypes.c_ushort()


Ret.value = ccan.CanGetCanTiming ( Id , 1 , ctypes.byref(Bitrate) , ctypes.byref(TSeg1) , ctypes.byref(SJW) , ctypes.byref(TSeg2) )

関連項目

CanSetCanTiming