MATLAB 帮助中心
将信号数据打包到 CAN 报文中
pack(message,value,startbit,signalsize,byteorder)
pack(message,value,startbit,signalsize,byteorder) 接受指定的输入参数并将其打包到报文中。
message
value
startbit
signalsize
byteorder
示例
全部折叠
将 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 位。
3.14
pack(message,3.14,0,64,'LittleEndian')
将单精度值 -40 打包为 CAN 报文。单精度值需要 32 位。
-40
pack(message,single(-40),0,32,'LittleEndian')
CAN 报文,指定为 CAN 报文对象。
示例: canMessage
要打包到报文中的信号的值,指定为数值。假定该值为十进制,并分布在报文 Data 属性的 8 个字节中。您应该将值转换为传输所需的数据类型。
Data
示例: int16(1000)
int16(1000)
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
single
double
int8
int16
int32
int64
uint8
uint16
uint32
uint64
信号在数据中的起始位,指定为单精度值或双精度值。这是信号数据中最低有效位的位置。startbit 的可接受值介于 0 和 63 之间(包含端值)。
0
63
示例: 0
数据类型: single | double
信号的长度(以位为单位),指定为数值。signalsize 的可接受值介于 1 和 64 之间(包含端值)。
1
64
示例: 16
16
'LittleEndian'
'BigEndian'
信号字节顺序格式,指定为 'LittleEndian' 或 'BigEndian'。
示例: 'LittleEndian'
数据类型: char | string
char
string
在 R2009a 中推出
canMessage
extractAll
extractRecent
extractTime
unpack
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处