不同STM32芯片之间的CAN通信问题
现有STM32F103C8T6最小系统板两块(带can收发器),STM32F405RGT6最小系统板两块(带can收发器)。can接口配置都是相同的,两块STM32F103板之间CAN通信正常,两块STM32F405板之间CAN通信也正常,但是STM32F405和STM32F103之间CAN通信不正常,求助原因。 本帖最后由 watershade 于 2016-2-27 21:00 编辑首先can不存在点对点通讯,can的数据帧是以广播的形式发送给整个网络的。如果你这四台设备连接在一个网络上,两段加上终端电阻。你通过特定的帧检测格式可以检测是不是所有设备都在线的。
啰嗦了一下,就是想知道你所谓的两者之间的通讯到底是什么意思。
第二,原则上你需要确定自己使用的can通讯速率,是高速还是低速。帧都是支持的can2.0A/B吗?帧格式是否一致,过滤原则有没有问题等最好检查一下
不一定能帮到你,但是再检测一下。 can接口配置都是相同的 ? 建议你仔细核对下CAN
速度配置的那部分,一定是两块板的时钟不一样, 结果分频系数什么的你都配成一样的了,那么结果就使两个can是工作在不同的速度上的. 下个官方例子,仔细看下CAN配置的注释说明 确认下,两块板的时钟。把配置贴出来看看 CAN总线能否正常通信和节点使用何种MCU、CPU无关,只取决于总线物理硬件、通信协议、速率等。 CAN总线CANH和CANL之间是否加了120欧姆的电阻? 请问你问他怎么解决的?
页:
[1]