[Kinetis] 关于K64的CAN

[复制链接]
1981|17
 楼主| shmily_xihua 发表于 2015-10-30 10:08 | 显示全部楼层 |阅读模式
我的CAN发送在任务里实现,while(1){time_delay(10000);   CAN发送();  打印语句;}代码里有等待时间,串口打印大约10s打印一次,可在板子的收发器引脚上测得波形间隔不变,请教飞思卡尔大神!
 楼主| shmily_xihua 发表于 2015-10-30 15:16 | 显示全部楼层
再请教飞思卡尔的技术,我的CAN回环自测时发送与接收均OK,但是连在总线上时发送总是不成功,是怎么回事啊?
西门扫雪 发表于 2015-10-30 21:55 | 显示全部楼层
板子的收发器引脚上测得波形间隔不变这句话没看懂啊,不是和你的delay里面的一致吗?
西门扫雪 发表于 2015-10-31 09:54 | 显示全部楼层
delay时间改变了,示波器测得的不变化吗
 楼主| shmily_xihua 发表于 2015-11-2 09:13 | 显示全部楼层
西门扫雪 发表于 2015-10-31 09:54
delay时间改变了,示波器测得的不变化吗

是的
 楼主| shmily_xihua 发表于 2015-11-2 09:19 | 显示全部楼层

还想问一下,我的CAN没有和总线连接,测试发送时ESR1的总线关闭中断位和错误中断位老置1,应该是发送不成功吧?
FSL_TICS_ZJJ 发表于 2015-11-2 10:42 | 显示全部楼层
楼主你好!
你CAN发送的数据大概耗时多少?
另外,你直接测试MCU发送引脚的波形看看,是不是间隔10s,另外你发送之后,用CAN分析仪看看,是不是间隔10s收一个。
 楼主| shmily_xihua 发表于 2015-11-2 11:27 | 显示全部楼层
FSL_TICS_ZJJ 发表于 2015-11-2 10:42
楼主你好!
你CAN发送的数据大概耗时多少?
另外,你直接测试MCU发送引脚的波形看看,是不是间隔10s,另外你 ...

耗时咋算呀?我们没有CAN分析仪,我就是用示波器看的间隔不是10s. CAN独立不与总线连接时能发送吗?
FSL_TICS_ZJJ 发表于 2015-11-2 13:59 | 显示全部楼层
shmily_xihua 发表于 2015-11-2 11:27
耗时咋算呀?我们没有CAN分析仪,我就是用示波器看的间隔不是10s. CAN独立不与总线连接时能发送吗? ...

不接也应该有波形出来的,你测试下TX引脚看看。
你可以先发送个8个字节,少发点,这样肯定能看到中间的延时的。10s也挺长的。
FSL_TICS_Robin 发表于 2015-11-2 14:01 | 显示全部楼层
shmily_xihua 发表于 2015-11-2 11:27
耗时咋算呀?我们没有CAN分析仪,我就是用示波器看的间隔不是10s. CAN独立不与总线连接时能发送吗? ...

马云家买个便宜点的CAN调试器吧,否则单CAN节点调试会很麻烦,只能用回环模式测试了。
 楼主| shmily_xihua 发表于 2015-11-2 14:34 | 显示全部楼层
FSL_TICS_Robin 发表于 2015-11-2 14:01
马云家买个便宜点的CAN调试器吧,否则单CAN节点调试会很麻烦,只能用回环模式测试了。 ...

回环模式OK着呢
FSL_TICS_Robin 发表于 2015-11-2 15:03 | 显示全部楼层
shmily_xihua 发表于 2015-10-30 15:16
再请教飞思卡尔的技术,我的CAN回环自测时发送与接收均OK,但是连在总线上时发送总是不成功,是怎么回事啊 ...

你的总线上是否还有其他CAN节点呢?如果只是你芯片一个CAN节点是没**常收发的。
需要配置相同总线频率呢
如果有个CAN调试器就方便多了,至少能够先保证CAN调试器这个节点是正常运行的,然后才排查你芯片那边的问题。
 楼主| shmily_xihua 发表于 2015-11-2 16:51 | 显示全部楼层
FSL_TICS_Robin 发表于 2015-11-2 15:03
你的总线上是否还有其他CAN节点呢?如果只是你芯片一个CAN节点是没**常收发的。
需要配置相同总线频率呢
...

可惜我们没有CAN调试器。我的CAN总线上还加了一个CAN节点,频率都一样,还是发送不成功。我是用MB[x].CS.CODE没有从0xC变成0x8判断它发送不成功的。不知我理解的可对?
 楼主| shmily_xihua 发表于 2015-11-16 11:54 | 显示全部楼层
问题解决了,还是说一下,供大家调试时参考:
最终原因是我没有使能晶振,从而没有时钟,导致CAN发送错误。但是这个不会影响一个CAN的自发自收,所以自发自收OK,不一定就能发送出去或接受成功。
春风的暖暖 发表于 2015-11-16 21:11 | 显示全部楼层
用点灯的方式测一下,先看看delay函数写的有无问题
小猫爱吃鱼 发表于 2015-11-17 16:56 | 显示全部楼层
是不是delay的定时器和can冲突啊
 楼主| shmily_xihua 发表于 2015-12-10 10:04 | 显示全部楼层
小猫爱吃鱼 发表于 2015-11-17 16:56
是不是delay的定时器和can冲突啊

问题已经解决了,还是谢谢
 楼主| shmily_xihua 发表于 2015-12-10 10:05 | 显示全部楼层
小猫爱吃鱼 发表于 2015-11-17 16:56
是不是delay的定时器和can冲突啊

问题已经解决了。还是谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

57

帖子

0

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