c++处理CANopen报文问题

C++语言 码拜 9年前 (2015-05-11) 1294次浏览 0个评论
 

CANopen报文例示:601 23 40 60 00 2f 45 00 01(十六进制)(格式不会变)

我定义了一个CString str1与IDC_EDIT1关联,在编辑框中输入以上报文,报文赋给str1.

同时定义了VCI_CAN_OBJ结构体:
typedef struct{
    UINT32      time_stamp;     
    UINT32      id;             
    UINT8       len:4;          
    UINT8       rtr:1;          
    UINT8       res:3;         
    UINT8       a_data[8];      
    UINT8       sts;            
}VCI_CAN_OBJ;

现在问题是要讲601赋给.id  23赋给.a_data[0]  40赋给.a_data[1]…..01赋给.a_data[7]  (就是将报文中数据分段赋值到结构体中)

请大家帮帮忙~~~~~

30分
char* pBuf = 报文;
id = char[0] << 8 | char[1];
a_data[0] = char[2];
……
读出来直接赋值就可以了,反正格式固定的。
strtok
楼主请问”UINT8       len:4;  “ 中“:”后跟了数字是什么意思啊?本人初学者,劳请解答,谢谢

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明c++处理CANopen报文问题
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!