hs3 发表于 2016-2-18 17:18:53

关于STM32F103的CAN总线的ID设置

本人使用STM32F103芯片,在使用CAN总线发送数据时,如果我想使用基本ID,发送ID是不是直接赋给发送函数就可以了,还需要移位吗?
注:pdf说明书中是这么写的:
标准格式的 ID 有 11 个位。从 ID28 到 ID18 被依次发送。禁止高 7 位都为隐性(禁止设
定: ID=1111111XXXX)。扩展格式的 ID 有 29 个位。基本 ID 从 ID28 到 ID18,扩展 ID 由
ID17 到 ID0 表示。

xmshao 发表于 2016-2-18 22:05:29

如果你用ST官方库函数的话,给出合适配置值就好,然后调用函数实现配置。
比如:
/* transmit */
TxMessage.StdId=0x11;
TxMessage.RTR=CAN_RTR_DATA;
TxMessage.IDE=CAN_ID_STD;
TxMessage.DLC=2;
TxMessage.Data=0xCA;
TxMessage.Data=0xFE;

TransmitMailbox=CAN_Transmit(CANx, &TxMessage);
。。。。。。。。。。。

当然你也可以不用别人的函数,自己编程实现,该怎么操作就怎么操作。

发表于 2016-2-19 08:36:13

库函数直接写入ID,IDE选择标准帧即可。
页: [1]
查看完整版本: 关于STM32F103的CAN总线的ID设置