RA,RD对CAN通信干扰

[复制链接]
3240|11
 楼主| challenge2666 发表于 2012-6-7 17:01 | 显示全部楼层 |阅读模式
我的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句 执行到那一句挂的??
兰天白云 发表于 2012-6-8 09:51 | 显示全部楼层
CAN口是可重映射的

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| challenge2666 发表于 2012-6-8 16:19 | 显示全部楼层
4楼:在在线调试状态下,程序运行.没有发现断点.但是就是不通信. can口不和这个口复用,所以才很痛苦.
 楼主| challenge2666 发表于 2012-6-8 16:36 | 显示全部楼层
我是先执行四条指令.然后在进行CAN配置。然后就是发送数据。今天进行了从新定义,由于ra口的有些位不能定义为输出。所以进行这种方式TRISAbits.TRISA2=0;程序执行正常。
但是加上显示。显示用的12864,串行模式,用的ra2到ra5.又出现CAN不通信的问题。但是在复位的那一瞬间,发送和接收是正常的。正在查找中,往各位大侠出谋划策
还有就是5楼的资料在那里找的,我翻了33f的数据手册没有找到此文档,能不能把此文档传给我,在此谢谢。
Ryanhsiung 发表于 2012-6-9 18:47 | 显示全部楼层
5L的你用的单片机不一定有,你搜一下RP就应该可以收到!
'所以进行这种方式TRISAbits.TRISA2=0' 从这个表现看,应该还是操作到了不该操作的寄存器啊!!!
 楼主| challenge2666 发表于 2012-6-9 20:00 | 显示全部楼层
现在对进行设置以后,ra不影响了。然而RD口仍旧干扰。我同意8楼的看法,关键是IO的配置位,就这两句。
兰天白云 发表于 2012-6-11 09:54 | 显示全部楼层
PIC33FJ128数据手册
 楼主| challenge2666 发表于 2012-6-11 11:06 | 显示全部楼层
 楼主| challenge2666 发表于 2012-6-12 00:14 | 显示全部楼层
我的问题解决了,是我把时钟配置放在另一个文件夹里。在主函数中又对其进行了函数声明。导致进入时钟中断陷阱。或者程序运行不稳定。谢谢大家对我的支持。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

34

帖子

1

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