打印

stm32 can接口调试

[复制链接]
7987|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
b335002090|  楼主 | 2009-7-6 14:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在万利的lk板上,调试can接口时,还回模式下能够正常,当把工作模式CAN_InitStructure.CAN_Mode=CAN_Mode_Normal改为正常模式,用示波器无法看到can接口有信号输出。接受端也没有接受到信号。请问那位能知道为什么吗?新手上道!谢谢
沙发
dtmcp| | 2009-7-6 15:03 | 只看该作者

可能是CAN的接收有问题,

可能是CAN的接收有问题,CAN总线的收发是自闭环的,发的同时要进行自接收

使用特权

评论回复
板凳
b335002090|  楼主 | 2009-7-6 15:16 | 只看该作者

CAN总线的收发是自闭环的

楼上所说的并不明白,可以理解为,自身发的同时,自身必须去接受吗?我在还回模式下运行正常的程序,那么只改动发送模式的CAN_InitStructure.CAN_Mode=CAN_Mode_Normal,就可以达到正常模式运行吗?新手不是很明白,两个模式切换需要修改那些参数。

使用特权

评论回复
地板
lllttt7777| | 2009-7-6 16:23 | 只看该作者

CAN的接收端有问题

同意2楼的意见,
查一下接收端是否正常。

使用特权

评论回复
5
b335002090|  楼主 | 2009-7-6 17:03 | 只看该作者

用示波器看can输出没有波形

我用示波器查看stm32 can发送脚无输出

使用特权

评论回复
6
john_light| | 2009-7-6 17:10 | 只看该作者

CAN规范决定了

想要测试正常的CAN收发,必须保证总线上至少有两个节点。

如果只存在一个节点,那么该节点在尝试发送数据后会由于无其它节点的响应很快由正常状态转变为被动错误状态。

使用特权

评论回复
7
b335002090|  楼主 | 2009-7-7 09:42 | 只看该作者

请问楼上,正常节点的含义

正常节点是不是能够正常收发的意思,那我还回模式正常的器件改正常模式的器件算不算正常呢?初次接触can有许多不懂的地方,望不吝赐教。呵呵

使用特权

评论回复
8
luckyfzl| | 2009-7-7 09:51 | 只看该作者

CAN调试

我的问题是:
我用周立功的USBCANII调试两块板子(一块是基于103VBT6,一块是基于103VCT6),查询和中断方式均能正常收发(就是将lookback改为Normal)。
但是,当我再用两个板子进行互调的时候,怎么也调不通(两板的终端电阻均已经置为有效状态,与用USBCANII时的状态一样;程序与用USBCANII时的程序一样),各位大侠帮我分析分析咋回事啊?
相关链接:https://bbs.21ic.com/upfiles/img/20097/20097794815881.rar

使用特权

评论回复
9
b335002090|  楼主 | 2009-7-7 15:40 | 只看该作者

楼上的接收怎么解决啊?

一块是基于103VBT6,一块是基于103VCT6,用同一个程序?那么你程序运行过程中接收问题怎么解决啊?你是在不停的发然后等待接收,这样可以吗?而且你的等待接收过程不合理的,个人愚见,我的发送还没有解决,但是感觉你的接收和发送要分开,可以一个发送一个接收的。

使用特权

评论回复
10
chineser| | 2009-7-7 18:57 | 只看该作者

can双节点 通信

http://www.stmsky.com/bbs/viewthread.php?tid=1192&extra=page%3D1

使用特权

评论回复
11
luckyfzl| | 2009-7-8 13:22 | 只看该作者

我的问题的解释

我那个程序,只要更改一下端口的初始化以及CAN是否重映射,分别在不同板子上调试的。我用了周立功的USBCANII分别与两个板子联调的。程序开接收中断,并不停的向外发数据,USBCANII能收到发来的数据,USBCANII发出数据后,两个板子也都能进接收中断。
但是,当我用两个板子互联调试的时候,确怎么也进不了接收中断(改为lookback模式是一定进的)。
现在我把两个程序拆开了,大侠给瞅瞅(硬件都是成熟在用电路)。
相关链接:https://bbs.21ic.com/upfiles/img/20097/20097813185489.rar

使用特权

评论回复
12
511| | 2009-7-8 15:58 | 只看该作者

关注ING

帮楼主顶下~~~

使用特权

评论回复
13
luckyfzl| | 2009-7-8 22:28 | 只看该作者

问题解决

还是有个终端电阻焊的不对,造成两节点联调不正常(超郁闷)!所以,还是提醒大家,多多检查啊!

使用特权

评论回复
14
luckyfzl| | 2009-7-8 22:29 | 只看该作者

呵呵...今天还收到了三合一开发板,晕晕的幸福!

使用特权

评论回复
15
b335002090|  楼主 | 2009-7-9 09:51 | 只看该作者

问楼上的终端电阻?

终端电阻,你用两块板子联调的,那么两块板上都用了120欧电阻吗?这样can回路的阻值只有60欧?

使用特权

评论回复
16
b335002090|  楼主 | 2009-7-9 16:44 | 只看该作者

stm32 can接口中断使能

是不是每次使用can的接收中断都需要打开中断使能?CAN_ITConfig(CAN_IT_FMP0,ENABLE),新手很费解这种现象。

使用特权

评论回复
17
wintip| | 2009-7-10 11:28 | 只看该作者

CAN联调

两块板子联调,当然就2个节点了,而总线两端需要两个终端电阻的,所以是60欧姆。
如果你使能了接收中断,而没有再关闭该中断,那就不需要再打开使能了阿。
有位前辈这样告诫:

1)CAN引脚重影射时,需要配置RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE)。 
2)记清楚时钟用了HSE还是PLL,还有PCLK2是怎么从HCLK分频的。算CAN总线速率的时候是用CAN的时钟去除以(SJW+BS1+BS2)再除以Prescaler。 
3)两个终端电阻一定配备。
4)开了中断不去处理是要遭报应的。。。别忘记把收到的message删掉。 

使用特权

评论回复
18
b335002090|  楼主 | 2009-7-11 09:47 | 只看该作者

楼上的告诫茅塞顿开

谢谢楼上的箴言

使用特权

评论回复
19
b335002090|  楼主 | 2009-7-11 14:30 | 只看该作者

请教楼上的4)

别忘记把收到的message删掉,这步该如何操作的?

使用特权

评论回复
20
baiyawei0518| | 2011-9-19 18:09 | 只看该作者
各位大侠,我最近在调试CAN,遇到点问题,我单片机用的430的,CAN控制器用的MCP2515,收发器用的82c250,我用MCP2515做CAN节点(只用一个节点测试的),MCP2515的TXCAN和RXCAN脚并没有接在一起,而且直接用正常模式发送,TXCAN和RXCAN两脚波形相同,是什么意思?属于正常情况吗?  正常模式下用示波器可以测得CAN总线电平,CAN_H,CAN_L波形相反,如果发送正常,那么又要如何跟我买的USBCAN-II实现正常通讯呢?怎么将我发送的数据帧在ZLGcantest软件中显示出来啊?还有,用ZLGcantest发送数据,怎样让我的CAN节点接收啊?希望各位大侠能不吝赐教啊!谢谢啊!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

84

帖子

1

粉丝