pack
将信号数据打包到 CAN 报文中
说明
示例
打包 CAN 报文
将 16 位整数值 1000 打包为 CAN 报文。
message = canMessage(500,false,8);
pack(message,int16(1000),0,16,'LittleEndian')
message.Data
1×8 uint8 row vector 232 3 0 0 0 0 0 0
请注意,1000 = (3 x 256) + 232。
将双精度值 3.14
打包为 CAN 报文。双精度值需要 64 位。
pack(message,3.14,0,64,'LittleEndian')
将单精度值 -40
打包为 CAN 报文。单精度值需要 32 位。
pack(message,single(-40),0,32,'LittleEndian')
输入参数
message
— CAN 报文
CAN 报文对象
CAN 报文,指定为 CAN 报文对象。
示例: canMessage
value
— 要打包到报文中的信号的值
数值
要打包到报文中的信号的值,指定为数值。假定该值为十进制,并分布在报文 Data
属性的 8 个字节中。您应该将值转换为传输所需的数据类型。
示例: int16(1000)
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
startbit
— 信号在数据中的起始位
单精度值 | 双精度值
信号在数据中的起始位,指定为单精度值或双精度值。这是信号数据中最低有效位的位置。startbit
的可接受值介于 0
和 63
之间(包含端值)。
示例: 0
数据类型: single
| double
signalsize
— 信号的长度(以位为单位)
数值
信号的长度(以位为单位),指定为数值。signalsize
的可接受值介于 1
和 64
之间(包含端值)。
示例: 16
数据类型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
byteorder
— 信号字节顺序格式
'LittleEndian'
| 'BigEndian'
信号字节顺序格式,指定为 'LittleEndian'
或 'BigEndian'
。
示例: 'LittleEndian'
数据类型: char
| string
版本历史记录
在 R2009a 中推出
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)