STM32 CAN问题

[复制链接]
 楼主| zfzxz 发表于 2009-3-20 18:29 | 显示全部楼层 |阅读模式
请教版主:

我用STM32F103系列的单片机做CAN通信
使用网上的例程,在LLOKBACK模式下,完全正常
当我把两个板子烧录上程序,一个是发送,一个是接收(中断接收)
两块板子分为A板B板,A板是用的默认口PA11 PA12   B板用的是PB8 PB9(REMAP过去的)

两个板子的初始化  我都DEBUG看了  都是可以完成初始化的 初始化的部分基本和网上的例程一样 我还把过滤器DISABLE了

我把两块板子的速率调成一样(56K左右)的   都焊有终端电阻

A发  B收   当我启动发送函数CAN_Transmit(&TxMessage) 后 显示为发送显性位错误

B发  A 手  当我启动发送函数CAN_Transmit(&TxMessage) 后 显示为发送ACK错误

出现这样的问题  版主能否给点意见  谢谢
ijk 发表于 2009-3-20 22:05 | 显示全部楼层

两点提示

两点提示: 一,用示波器看发送、接收板的波形。 二,把过滤器Disable,有点疑问
 楼主| zfzxz 发表于 2009-3-21 15:14 | 显示全部楼层

还是一样

我把过滤器设置为ENABLE 也是同样的问题

A发  B收   当我启动发送函数CAN_Transmit(&TxMessage) 后 显示为发送显性位错误

B发  A 手  当我启动发送函数CAN_Transmit(&TxMessage) 后 显示为发送ACK错误
starm 发表于 2009-3-21 21:11 | 显示全部楼层

ACK 错误可能是这个原因?

重映射是否成功? GPIO AFIO 时钟? 看看 TX RX 引脚波形

ACK 错误可能是这个原因?
 楼主| zfzxz 发表于 2009-3-22 11:00 | 显示全部楼层

AF时钟使能了

重新映射是成功的  开始的时候AF时钟 我没使能  初始化总是不成功(寄存器标志位显示无法退出初始化)   后来找到这个原因后  使能了AFIO的时钟   DEBUG看的时候  初始化是成功的
 楼主| zfzxz 发表于 2009-3-22 17:32 | 显示全部楼层

问题解决

问题在十分钟前解决  是之前的B板的硬件问题  
目前还不十分清楚  可能焊接 导致的干扰
新作的了块C板   和A板通信  目前看来是成功了  
谢谢大家的关心和帮助
banrn 发表于 2009-3-28 23:25 | 显示全部楼层

我现在调STM8A的CAN

出现的是FORM ERROR问题。

但我用LOOP BACK模式时是可以的。

正常模式就不行。
zhurunping 发表于 2009-4-14 12:33 | 显示全部楼层

拜读中!

neaphy 发表于 2009-4-15 21:38 | 显示全部楼层

RE

8楼的DeviceNet用在哪啊
交流学习一下
fzxuecumt 发表于 2009-4-16 23:11 | 显示全部楼层

楼主的程序能否共享一下,也在调试。

楼主的程序能否共享一下,也在调试。
fzxuecumt@gmail.com
wangyuguo21ic 发表于 2009-5-5 15:55 | 显示全部楼层

can

我也在学习!
jiamingz 发表于 2009-7-13 13:26 | 显示全部楼层

CAN调试还是需要不同的CAN设备测试比较好

mamingjie 发表于 2009-7-18 08:47 | 显示全部楼层

can 过滤器与屏蔽器

请问:CAN总线 接收端的32位屏蔽器和32位过滤器与要接收数据的ID是什么关系?
ZENG_GJ 发表于 2009-8-11 14:46 | 显示全部楼层
ACK错误一般是接收方没有正常运行,应该跟过滤无关。是否振荡器?
dfsa 发表于 2009-8-23 19:58 | 显示全部楼层
用CAN分析仪一看就知道了,可惜比较贵,有条件的话,自己可以做个简单的CAN分析仪,我就做过一个,不过只能分析每个节点发送的时间,有待改善
秋天落叶 发表于 2009-8-24 10:52 | 显示全部楼层
是不是两块板子,CAN的波特率设置不一样呢
chineser 发表于 2009-8-24 12:23 | 显示全部楼层
http://www.stmsky.com/bbs/viewthread.php?tid=1192
双节点 通信点灯  vbt6上实验早已通过的
banhushui 发表于 2009-8-24 13:03 | 显示全部楼层
sinadz 发表于 2009-8-24 15:40 | 显示全部楼层
去掉一个终端电阻试一下,一个CAN网络上,不管它有多少个节点挂在上面,一般只需要一个终端电阻
hsbjb 发表于 2009-8-24 18:27 | 显示全部楼层
用示波器观察一下波形,主要是一些输入和输出的,看哪个地方没波形了,就说明那个芯片有问题了,当然,也不能排除软件上的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

5

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部