上位机发送命令(只看ID,data数据不管): CAN StdId: 0x01: 接收数据 0x02: 更新数据 0x03: 擦除数据 0x04: 执行应用 0x55: 结束发送命令标志 stm32f107返回应答: 0xEE: 发生错误 d0=1:接收数据错误,数据为空 d1=1:更新数据错误,不是有效数据 0xAA: 没有可以执行的应用程序 d0-d7: 接收数据大小,单位B 0xBB: 等待超时,自动执行引用程序 0x11: 开始更新数据 0x22: 更新结束 0x33: 准备开始接收数据 0xDD: 接收数据完成 0x44: 执行用户代码 更新程序流程: 1. 上位机发送ID为0x01的can命令,收到应答ID为0x33表示准备开始接收 2. 上位机发送bin文件数据,发送完成在结束的时候发送一帧ID为0x55表示发送完成。收到应答ID为0xDD表示接收完成,并且判断大小与发送是否相符。 3.上位机发送ID为0x02的can命令,收到应答ID为0x11表示开始更新数据,更新完成接收到ID为0x22 4. 上位机发送ID为0x04的can命令,收到应答ID为0x44表示执行用户代码。
|