CANopen从站协议在stm32分析和说明 下载本文

内容发布更新时间 : 2024/11/16 23:42:03星期一 下面是文章的全部内容请认真阅读。

代码框架大致为:

CAN_Receive(CAN1,CAN_FIFO0,&RxMessage);

if(RxMessage.StdId==0x600+bDeviceNodeId)//检查是否是发给本站的报文 {

if((RxMessage.Data[0]==0x2F)||

(RxMessage.Data[0]==0x2B)||(RxMessage.Data[0]==0x27)||(RxMessage.Data[0]==0x23)||(RxMessage.Data[0]==0x40)|| (RxMessage.Data[0]==0x60))//检查功能码

{ proceedSDO(0,&m);//处理SDO报文 }

if (RxMessage.StdId==0x0000)//检查功能码 {

proceedNMTstateChange(&m);//处理NMT报文 }

if (RxMessage.StdId==0x0080) 检查功能码

{ proceedSYNC(0,&m); //处理PDO同步报文 }

7 结束语

CANopen协议作为一种非常有竞争力

标准总线,目前在欧洲已被广泛应用,在中国,随着工业时代的发展,CANopen协议也将会被广泛应用。