[CAN-bus/DeviceNet] 请教PeliCAN自发自收问题

[复制链接]
4250|7
 楼主| panda598 发表于 2007-1-24 10:31 | 显示全部楼层 |阅读模式
请问为何设置了模式寄存器为自检测模式,命令寄存器为自发自收并启动发送,为何读状态寄存器接收缓冲器始终无数据,在此模式下发送缓冲器和接收缓冲器是否为同一地址16-28
wxj1952 发表于 2007-1-25 08:35 | 显示全部楼层

方法N多种

不会那么简单。只好:<br />1、芯片的发送进程执行了吗?如何证实?怎样证实?<br />2、芯片的接收进程执行/完成了吗?如何/怎样证实?<br /><br />00/10&nbsp;&nbsp;故障时可能的原因有:......解决方法有:.......<br /><br />只有11状态是所希望的。<br />
 楼主| panda598 发表于 2007-1-25 09:28 | 显示全部楼层

发送不能成功

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

很简单。

要想继续把发送过程化简,请设置为“单次发送”。必定可以分析出原因!
 楼主| panda598 发表于 2007-2-12 14:33 | 显示全部楼层

发送不成功

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

好好检查

1.&nbsp;初始化时设置成自发送模式,0x00控制寄存器&nbsp;设置为0x04<br />2.&nbsp;发送数据用0x10&nbsp;发送
wxj1952 发表于 2007-3-7 09:58 | 显示全部楼层

没那么简单

初始化没完成!
柠檬恋上雨 发表于 2011-6-5 21:29 | 显示全部楼层
不能同时设置MCR.0和MCR.4,若设置则会忽略MCR.4即自接受请求!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

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