求教CAN发送失败的原因

[复制链接]
4686|10
 楼主| 捡漏王子 发表于 2012-7-16 17:19 | 显示全部楼层 |阅读模式
本帖最后由 捡漏王子 于 2012-7-16 17:29 编辑

TransmitMailbox = CAN_Transmit(CAN1,&TxMessage);
                                XX = 0;
        while((CAN_TransmitStatus(CAN1,TransmitMailbox)) != ("A" && (XX !=0xFF)));
                {
                                XX++;
                }
在同样同批次的两块板子上,一块能使用,另外一块就死在while 这一句
说明没有发送数据,这个问题是如何解决的,和硬件上有什么关联?还是软件上设置的问题?
谢谢
airwill 发表于 2012-7-16 17:53 | 显示全部楼层
还不好说.
既然两块相同的板出现不同的现象, 应该硬件的可能性大.
可以用调速器跟踪进去, 对比一下两者的区别,
或者捕获一些故障状态来分析.
zh5202 发表于 2012-7-16 18:25 | 显示全部楼层
 楼主| 捡漏王子 发表于 2012-7-16 19:16 | 显示全部楼层
调试的时候就死在这个while语句 里面了
figo20042005 发表于 2012-7-16 21:35 | 显示全部楼层
或许你硬件上什么变化导致程序死在里面
 楼主| 捡漏王子 发表于 2012-7-16 23:02 | 显示全部楼层
明天再去检查下硬件,唉,搞了一天没头绪
 楼主| 捡漏王子 发表于 2012-7-17 11:35 | 显示全部楼层
今早把模块全部测量了一遍,没发现硬件和链接问题
于是查下来重新安装了下模块,居然好了。匪夷所思
天理不容
figo20042005 发表于 2012-7-17 21:05 | 显示全部楼层
看来是不是模块接触不好吧,多拆拆实验下
xsgy123 发表于 2012-7-17 22:00 | 显示全部楼层
硬件出问题的可能性比较大
火箭球迷 发表于 2012-7-17 22:08 | 显示全部楼层
还不好说.
既然两块相同的板出现不同的现象, 应该硬件的可能性大.
可以用调速器跟踪进去, 对比一下两者的区别,
或者捕获一些故障状态来分析.
airwill 发表于 2012-7-16 17:53

捕获一些故障状态分析一下,应该是硬件的问题
dfsa 发表于 2012-7-17 22:17 | 显示全部楼层
硬件和软件都有可能,需要自己测试一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

910

帖子

2

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