打印

DSP28335 CAN例程的问题

[复制链接]
8554|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pallee|  楼主 | 2014-11-15 20:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
近来在学习DSP,买的28335的学习板,在学习CAN例程时,自测模式正常,但是把STM=1改为STM=1,程序就一直死在while(TA!=1)的行上,好像邮箱一直没有向外发送成功,有可能是什么原因?
我是把学习板的CANH和CANL都接在了买来的周立功的USB-CAN卡上。想着这样子应该能够在周立功提供的测试软件上看到接收到的数据,发现一直报错,CAN总线错误。

相关帖子

沙发
wangch_sh| | 2014-11-16 09:31 | 只看该作者
但是把STM=1改为STM=1是什么意思?

使用特权

评论回复
板凳
小木欧尼| | 2014-11-16 11:32 | 只看该作者
帮楼主顶

使用特权

评论回复
地板
拿起书本| | 2014-11-17 12:49 | 只看该作者
好像记得不是直接将管脚相连就可以了,CAN通信需要外扩模块的。

使用特权

评论回复
5
pallee|  楼主 | 2014-11-18 21:54 | 只看该作者
没有说清楚,不好意思。

在CAN例程中只提供了自测模式下的通信,对于发送和接收没有提及,在网上搜索了一些例程,自己也参考写了写,发现都无法进行通信。我的方式是利用周立功的USB-CAN,在计算机上运行其测试软件,然后用自己的程序发送数据给计算机,看计算机能否接收并显示出来,结果总是不对。

①给的CAN的自测模式的例程,如果别的都不变,仅在自己的程序中将STM=1改为STM=0,能否实现发送并在计算机上能够监测到?
②自己的程序见附件,请帮看一下有何问题,和例程一样,总是在while(ECanbRegs.CANTA.all == 0x00000000 ) {}这一行停止,运行不下去,表示没有能够发送成功。

main.zip

6.09 KB

使用特权

评论回复
6
pallee|  楼主 | 2014-11-19 21:28 | 只看该作者
已自行解决,是波特率的问题,折腾几天,郁闷

使用特权

评论回复
7
zhenglingo| | 2015-4-7 23:08 | 只看该作者
pallee 发表于 2014-11-19 21:28
已自行解决,是波特率的问题,折腾几天,郁闷

您好,我也刚刚接触DSP,对于CAN自测是可以的,将STM改为1后,就死在循环中,等不到发送完成,请问这和波特率有什么关系?

使用特权

评论回复
8
pallee|  楼主 | 2015-4-8 19:14 | 只看该作者
我用的是周立功的USBcan,用它带的上位机通信的例子和我的DSP板子相连,由于波特率没有设置正确,两者波特率不一致,没有正常通信,你仔细看看你的波特率设置正确了没有,同时,你要想实现正常的工作模式而非自测模式,你得有另外一块板子或者PC扩展的CAN与之相连才行啊,单块板子是没办法实现正常工作模式的。

使用特权

评论回复
9
zhenglingo| | 2015-4-8 19:32 | 只看该作者
pallee 发表于 2015-4-8 19:14
我用的是周立功的USBcan,用它带的上位机通信的例子和我的DSP板子相连,由于波特率没有设置正确,两者波特 ...

我现在就是用STM32的CAN波特率1M连续发送出数据到28335板子上,现在28335跑的是官方的a_to_b的例程,可是现在28335依然发送和接收不到数据,已经用示波器看了STM32板子一直在发数据,官方的例程需要更改吗,请问?

使用特权

评论回复
10
pallee|  楼主 | 2015-4-8 19:37 | 只看该作者
你先看看波特率是否正确吧,当时记得好像28335的例程里面对于波特率的说明好像不太对

使用特权

评论回复
11
zhenglingo| | 2015-4-8 19:42 | 只看该作者
我看了官方的CAN文档和例程是一致的啊。

使用特权

评论回复
12
pallee|  楼主 | 2015-4-8 20:12 | 只看该作者
我的意思是,28335上的例程,比如说波特率实际设置为1M,它的注释说明可能说的是500k,如果你只看他的注释,自测是没问题的,但和别的通信就不一致了,我遇到的是这种情况。

使用特权

评论回复
13
zhenglingo| | 2015-4-8 21:08 | 只看该作者
原来是这样,这个我很小心的配置了波特率。现在28335就一直发不出数据,等待TA一直为0。一定要两个CAN模块,那么是这么检测到另一块存在,很是不理解,哪里有这方面的资料呢?

使用特权

评论回复
14
pallee|  楼主 | 2015-4-8 22:00 | 只看该作者
我也没找到类似的资料,提问的多,解决的少,自己根据自己的情况琢磨吧。

使用特权

评论回复
15
zhangmangui| | 2015-4-8 22:23 | 只看该作者
pallee 发表于 2015-4-8 22:00
我也没找到类似的资料,提问的多,解决的少,自己根据自己的情况琢磨吧。 ...

欢迎你能再次回来

使用特权

评论回复
16
pallee|  楼主 | 2015-4-8 22:38 | 只看该作者
zhangmangui 发表于 2015-4-8 22:23
欢迎你能再次回来

学了一阵子DSP,现在又改学AVR了,领导让用什么就得用什么……

使用特权

评论回复
17
zhangmangui| | 2015-4-9 21:24 | 只看该作者
pallee 发表于 2015-4-8 22:38
学了一阵子DSP,现在又改学AVR了,领导让用什么就得用什么……

从DSP转入AVR  应该是比较容易的吧  

使用特权

评论回复
18
comeon201208| | 2015-4-11 13:37 | 只看该作者
while(TA!=1),,就检查下TA所能得到的数值的吧。

使用特权

评论回复
19
fishyy| | 2015-6-18 15:24 | 只看该作者
请问楼主波特率应该怎么设置呢?你当时波特率不一致波形还有CANES寄存器有什么特点呢???

使用特权

评论回复
20
yzlinh| | 2016-3-7 21:55 | 只看该作者
楼主,我看你上传的源码中,用canb作接收,接收的部分调试能正常工作吗?

使用特权

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

本版积分规则

12

主题

177

帖子

2

粉丝