canMessage
基于用户指定的结构体构建 CAN 报文
语法
说明
基于原始报文信息创建一个 CAN 报文对象。message
= canMessage(id
,extended
,datalength
)
创建一条 CAN FD 报文。默认的 message
= canMessage(id
,extended
,datalength
,'ProtocolMode','CAN FD')ProtocolMode
是标准 'CAN'
。
使用指定数据库中的报文定义创建报文。由于 message
= canMessage(candb
,messagename
)ProtocolMode
是在报文数据库中定义的,因此在使用数据库时,不能将其指定为 canMessage
的参量。
示例
创建 CAN 报文
使用扩展 ID 格式创建 CAN 报文。
message1 = canMessage(2500,true,4)
message1 = Message with properties: Message Identification ProtocolMode: 'CAN' ID: 2500 Extended: 1 Name: '' Data Details Timestamp: 0 Data: [0 0 0 0] Signals: [] Length: 4 Protocol Flags Error: 0 Remote: 0 Other Information Database: [] UserData: []
创建 CAN FD 报文
使用标准 ID 格式创建 CAN FD 报文。
message2 = canMessage(1000,false,64,'ProtocolMode','CAN FD')
message2 = Message with properties: Message Identification ProtocolMode: 'CAN FD' ID: 1000 Extended: 0 Name: '' Data Details Timestamp: 0 Data: [1×64 uint8] Signals: [] Length: 64 DLC: 15 Protocol Flags BRS: 0 ESI: 0 Error: 0 Other Information Database: [] UserData: []
使用数据库定义创建报文
使用 CAN 数据库的定义创建报文。
candb = canDatabase("C:\myVNTData\VehicleInfo.dbc") message3 = canMessage(candb,"WheelSpeeds")
message3 = Message with properties: Message Identification ProtocolMode: 'CAN' ID: 1200 Extended: 0 Name: 'WheelSpeeds' Data Details Timestamp: 0 Data: [0 0 0 0 0 0 0 0] Signals: [1×1 struct] Length: 8 Protocol Flags Error: 0 Remote: 0 Other Information Database: [1×1 can.Database] UserData: []
输入参数
id
— 报文的 ID
数值
报文的 ID,指定为数值。如果此 ID 使用扩展格式,请将 extended
参量设置为 true
。
示例: 2500
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
extended
— 指示报文 ID 是否为扩展类型
true
| false
指示报文 ID 是标准类型还是扩展类型,指定为 true
或 false
。逻辑值 true
表示 ID 是扩展类型,false
表示是标准类型。
示例: true
数据类型: logical
datalength
— 报文数据的长度
0-8 的整数值
报文数据的长度,指定为 0
到 8
(包含端值)的整数值。
示例: 8
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
candb
— CAN 数据库
CAN 数据库对象
CAN 数据库,指定为数据库对象。数据库包含报文定义。
示例: candb = canDatabase('CANdb.dbc')
messagename
— 报文的名称
字符向量 | 字符串
数据库中报文定义的名称,指定为字符向量或字符串。
示例: 'VehicleDataMulti'
数据类型: char
| string
输出参量
message
— CAN 报文
CAN 报文对象
CAN 报文,以具有 can.Message 属性 的 CAN 报文对象形式返回。
版本历史记录
在 R2009a 中推出
另请参阅
函数
attachDatabase
|canDatabase
|extractAll
|extractRecent
|extractTime
|pack
|unpack
|transmit
|transmitPeriodic
属性
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)