MATLAB 帮助中心
从 CAN 报文中解包信号数据
value = unpack(message,startbit,signalsize,byteorder,datatype)
value = unpack(message,startbit,signalsize,byteorder,datatype) 接受一组输入参数从报文中解包信号值并返回该值作为输出。
value
message
startbit
signalsize
byteorder
datatype
示例
全部折叠
从一个 CAN 报文中解包数据值。
解包一个 16 位整数值。
message = canMessage(500,false,8); pack(message,int16(1000),0,16,'LittleEndian') value = unpack(message,0,16,'LittleEndian','int16')
value = int16 1000
解包一个 32 位单精度值。
pack(message,single(-40),0,32,'LittleEndian') value = unpack(message,0,32,"LittleEndian",'single')
value = single -40
解包一个 64 位双精度值。
pack(message,3.14,0,64,'LittleEndian') value = unpack(message,0,64,'LittleEndian','double')
value = 3.1400
从中解包数据的 CAN 报文,指定为 CAN 报文对象。
示例: canMessage
信号在数据中的起始位,指定为单精度值或双精度值。这是信号数据中最低有效位的位置。startbit 的可接受值介于 0 和 63 之间(包含端值)。
0
63
示例: 0
数据类型: single | double
single
double
信号的长度(以位为单位),指定为数值。signalsize 的可接受值介于 1 和 64 之间(包含端值)。
1
64
示例: 16
16
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
int8
int16
int32
int64
uint8
uint16
uint32
uint64
'LittleEndian'
'BigEndian'
信号字节顺序格式,指定为 'LittleEndian' 或 'BigEndian'。
示例: 'LittleEndian'
数据类型: char | string
char
string
解包后的值的数据类型,指定为字符向量或字符串。支持的参数值有 'uint8'、'int8'、'uint16'、'int16'、'uint32'、'int32'、'uint64'、'int64'、'single' 和 'double'。
'uint8'
'int8'
'uint16'
'int16'
'uint32'
'int32'
'uint64'
'int64'
'single'
'double'
示例: 'double'
报文数据的值,以指定数据类型的数值形式返回。
在 R2009a 中推出
canMessage
extractAll
extractRecent
extractTime
pack
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 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处