你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
watershade 发表于 2020-12-22 12:06 不是特别明白你的意思。你的意思是在上位机上解析json然后再按照某种规则传输can指令。(这是正常操作)还 ...
shengxiaozhu 发表于 2020-12-22 13:30 是上位机发个json数据过来,用can来做通信,单片机解析收到的数据,在执行相关指令 ...
如果是后者倒不是不可以模拟需要自定义一个CAN协议,然后将json数据按照ascii码传递到mcu上。mcu再用cjson之类的将数据部分解析。但是这样做的意义是什么?这样做没有任何好处。建议用第一种
是上位机发个json数据过来,用can来做通信,单片机解析收到的数据,在执行相关指令
已经在上面说明了。首先你需要顶一个一个CAN传递文本和命令的格式。比方你用数据帧作为发送json文件的主题,划分一下11位或者29位标识符的用途。在里面定义一个帧类型,包ID,包编号。这样你就可以在包的第一个帧里面填写包的描述和CRC,接着发送数据,最后包结尾。这样你的mcu收到一串帧之后就知道将他们组合在一起。然后需要说明的是,如果你的数据很重要。比方说是升级某个节点的代码,那你还要搞个广播帧,让其它所有节点进入静默状态。
这里重申一遍,你用CAN传递没有效率的json数据不是一个好主意。