CAN发送程序
发送前先确认(配置检查)
- 标准帧还是扩展帧
- 数据帧还是远程帧
- 单次发送还是周期发送
- 是否需要发送完成回调
- 总线终端电阻是否正确
单次发送(适合先验证发包是否正常)
// .h
// TODO: 补充 CAN 句柄、发送报文结构体、函数声明
// .c
// TODO: 补充初始化、填充 ID 和数据、发送请求代码
// ISR
// TODO: 单次发送通常可不写,按实际平台补充发送完成处理
// main
// TODO: 补充主函数中发送一帧数据的示例这种写法适合先验证收发是否打通。
周期发送(适合心跳包或状态上报)
// .h
// TODO: 补充周期发送所需变量、定时标志、函数声明
// .c
// TODO: 补充打包数据和按周期发送的代码
// ISR
// TODO: 补充定时器中断或调度触发逻辑
// main
// TODO: 补充在主循环中按标志位发送的示例这种写法适合周期上报设备状态。
队列发送(适合多种报文统一调度)
// .h
// TODO: 补充发送队列、索引、函数声明
// .c
// TODO: 补充入队、出队、邮箱空闲判断与发送逻辑
// ISR
// TODO: 补充发送完成中断中继续发下一帧的处理
// main
// TODO: 补充主循环维护发送任务的示例这种写法适合后续扩展成更完整的发送框架。