橙汁小窝

CAN的通信

CAN节点通用设置

初始化传感器和CAN总线。
配置CAN总线标准帧id和模块的传感器类型
启动串口中断和CAN总线
检测传感器类型进行数据获取


网关节点:

每一定时间将自身的传感器数据上报给平台(Master_To_Gateway)
如果完成符存在就将从CAN总线获得的Can_Data数据打包上报给平台并清除完成符

HAL_CAN_RxFifo0MsgPendingCallback:

(Can总线上出现数据进入本中断)

设置指定标准符
设置扩展标准符
设置消息标准符
设置消息长度
获取信息并赋值
成功就将data的消息循环赋值给Can_Data,赋值完成后将完成符设置

终端节点:

每一定时间将自身采集的数据发往CAN总线(Can_Send_Msg_StdId)

Can_Send_Msg_StdId:

设置标识符和扩展标识符
设置标准帧和数据帧
读取数据长度
以数据长度新建data
Data[0]设置为传感器类型
Data[4]设置为标识符

设置数据类型:
Adc值将拆开分别放入data[1]和data[2]。
开关量赋值data[1],data[2]赋值0。
温湿度量data[1]放温度,data[2]放湿度。

发送数据至CAN总线并返回功能码

发表评论

电子邮件地址不会被公开。 必填项已用*标注