打印

RA,RD对CAN通信干扰

[复制链接]
2339|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我的pic33f单片机,当RA,RD 设置为输出时,can通信不能成功。在在线调试下,CAN部分程序运行。在只有RA时或者RD时期间正常工作。望那位大侠帮我指点一下
沙发
Ryanhsiung| | 2012-6-7 19:53 | 只看该作者
不明白 LZ问什么???

使用特权

评论回复
板凳
challenge2666|  楼主 | 2012-6-7 22:14 | 只看该作者
CAN 通信正常。当加上   
TRISD = 0x0000;
LATD  = 0x0000;
TRISA = 0x0000;
LATA  = 0x0000;

这四行时,can通信不能接收也不能发送

使用特权

评论回复
地板
Ryanhsiung| | 2012-6-8 08:09 | 只看该作者
CAN的通信口是那一个端口上?   上面4句 执行到那一句挂的??

使用特权

评论回复
5
兰天白云| | 2012-6-8 09:51 | 只看该作者
CAN口是可重映射的

如果先执行4条指令再启动CAN是否正常?

使用特权

评论回复
6
challenge2666|  楼主 | 2012-6-8 16:19 | 只看该作者
4楼:在在线调试状态下,程序运行.没有发现断点.但是就是不通信. can口不和这个口复用,所以才很痛苦.

使用特权

评论回复
7
challenge2666|  楼主 | 2012-6-8 16:36 | 只看该作者
我是先执行四条指令.然后在进行CAN配置。然后就是发送数据。今天进行了从新定义,由于ra口的有些位不能定义为输出。所以进行这种方式TRISAbits.TRISA2=0;程序执行正常。
但是加上显示。显示用的12864,串行模式,用的ra2到ra5.又出现CAN不通信的问题。但是在复位的那一瞬间,发送和接收是正常的。正在查找中,往各位大侠出谋划策
还有就是5楼的资料在那里找的,我翻了33f的数据手册没有找到此文档,能不能把此文档传给我,在此谢谢。

使用特权

评论回复
8
Ryanhsiung| | 2012-6-9 18:47 | 只看该作者
5L的你用的单片机不一定有,你搜一下RP就应该可以收到!
'所以进行这种方式TRISAbits.TRISA2=0' 从这个表现看,应该还是操作到了不该操作的寄存器啊!!!

使用特权

评论回复
9
challenge2666|  楼主 | 2012-6-9 20:00 | 只看该作者
现在对进行设置以后,ra不影响了。然而RD口仍旧干扰。我同意8楼的看法,关键是IO的配置位,就这两句。

使用特权

评论回复
10
兰天白云| | 2012-6-11 09:54 | 只看该作者
PIC33FJ128数据手册

使用特权

评论回复
11
challenge2666|  楼主 | 2012-6-11 11:06 | 只看该作者
谢谢

使用特权

评论回复
12
challenge2666|  楼主 | 2012-6-12 00:14 | 只看该作者
我的问题解决了,是我把时钟配置放在另一个文件夹里。在主函数中又对其进行了函数声明。导致进入时钟中断陷阱。或者程序运行不稳定。谢谢大家对我的支持。

使用特权

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

本版积分规则

0

主题

34

帖子

1

粉丝