打印
[CAN-bus/DeviceNet]

请教PeliCAN自发自收问题

[复制链接]
3369|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
panda598|  楼主 | 2007-1-24 10:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问为何设置了模式寄存器为自检测模式,命令寄存器为自发自收并启动发送,为何读状态寄存器接收缓冲器始终无数据,在此模式下发送缓冲器和接收缓冲器是否为同一地址16-28

相关帖子

沙发
wxj1952| | 2007-1-25 08:35 | 只看该作者

方法N多种

不会那么简单。只好:
1、芯片的发送进程执行了吗?如何证实?怎样证实?
2、芯片的接收进程执行/完成了吗?如何/怎样证实?

00/10  故障时可能的原因有:......解决方法有:.......

只有11状态是所希望的。

使用特权

评论回复
板凳
panda598|  楼主 | 2007-1-25 09:28 | 只看该作者

发送不能成功

    非常感谢2楼的回复,现在用单片机仿真器看外部RAM的内容发现执行自发自收(向命令寄存器送10H)后模式寄存器由0C变为0D(SJA1000自己复位),状态寄存器为F4(总线关闭、发送未成功、出错、发送缓冲释放),错误代码寄存器为03,TX错误计数为7F,中断寄存器为24;
   通过执行退出复位后状态寄存器为04,模式寄存器为0C,错误代码寄存器为03,中断寄存器为24,TX错误计数为00。由于状态寄存器中发送成功标志始终无效,所以无法再次发送,只能硬件复位后再发,但发送后出现同样的问题。
    接收屏蔽码为FF(CAN地址为20-23),验收代码为00(CAN地址为16-19),识别码为00(CAN地址16-19),帧信息为88,波特率为100K,发送数据为2-8(CAN地址为21-28)。
    请各位高手指教上面的设置是否有问题,为什么发送始终不能成功。

使用特权

评论回复
地板
wxj1952| | 2007-1-26 20:13 | 只看该作者

很简单。

要想继续把发送过程化简,请设置为“单次发送”。必定可以分析出原因!

使用特权

评论回复
5
panda598|  楼主 | 2007-2-12 14:33 | 只看该作者

发送不成功

我采用12H的发送指令,执行发送指令后状态寄存器中始终为0F4H,为何始终发送未完成。将SJA1000的TX0和RX0已直接短接,用示波器测量时TX0脚有一50uS的电平信号。为何不能发送一侦数据,而只有一位数据。请各位高手指教。

使用特权

评论回复
6
xaygc| | 2007-3-7 09:13 | 只看该作者

好好检查

1. 初始化时设置成自发送模式,0x00控制寄存器 设置为0x04
2. 发送数据用0x10 发送

使用特权

评论回复
7
wxj1952| | 2007-3-7 09:58 | 只看该作者

没那么简单

初始化没完成!

使用特权

评论回复
8
柠檬恋上雨| | 2011-6-5 21:29 | 只看该作者
不能同时设置MCR.0和MCR.4,若设置则会忽略MCR.4即自接受请求!!!

使用特权

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

本版积分规则

1

主题

3

帖子

0

粉丝