zysunol 发表于 2007-1-29 16:50

我的CAN节点为什么不能自发?

请问ZlgCan<br />&nbsp;&nbsp;&nbsp;&nbsp;我把sja1000配置成为自发自收,初始化之后,发送数组,(仿照你们的节点设计)看寄存器全部正确,发送缓冲区也写进去了,读状态总是04或者f4,这是怎么回事?<br />&nbsp;&nbsp;&nbsp;&nbsp;我就是一块板子,没有连接其它设备,硬件上是不是要做些什么处理?

zysunol 发表于 2007-1-29 17:40

我的SR读出来第一次是0c,接下来都是f4

有时候也会出现04,难道自发送一定要有接收处理吗?

wxj1952 发表于 2007-1-30 11:58

设为单次发送一试

1、请设置CMR为03或者12H一试。<br />2、TX-RX间没有通路。

zysunol 发表于 2007-1-31 21:10

wxj1952请问

TX-RX间没有通路?是什么意思?tx和rx怎么会有通路呢?

wxj1952 发表于 2007-2-1 20:33

没通路?!

TX-RX如果没通路,如何实现自发自收?即使不是自收发,如何实现CAN协议?<br />这种通路是在82C250内部实现的,所以无论什么实验,必须插上总线驱动器。<br />做单节点自收发实验时,可以直接把SJA1000的TX-RX管脚短接。

zysunol 发表于 2007-2-5 14:23

我程序无法进入接收子程序

WXJ1952:<br /><br />我看了一下以前的**,有一个和我同样的问题:<br /><br />设置了模式寄存器为自检测模式,命令寄存器为自发自收并启动发送,为何读状态寄存器接收缓冲器始终无数据,在此模式下发送缓冲器和接收缓冲器是否为同一地址16-28&nbsp;<br /><br />我程序无法进入接收子程序,硬件上是否需要将本身的RX和TX连接?我已经使用了82c250。<br />

zysunol 发表于 2007-2-5 17:32

我对文档的理解

从sja1000资料上看自收发设计&nbsp;我个人是这样理解的<br />硬件上&nbsp;tx-rx内部自行连接,也就是电路不用修改;<br />软件上&nbsp;对cmr写40就可以了&nbsp;会同时发送和接收<br /><br />现在我通过寄存器察看&nbsp;初始化、待发送数据放入都是对的,但是对cmr操作让它发送时,看不到结果,不知道是不能发送还是不能接收,希望做过的兄弟指导一下<br />

wxj1952 发表于 2007-2-8 18:55

是向CMR.4写入“1”!

我很想知道是哪篇资料说的向CMR写入40会启动自收发。应该是写入10H/12H/13H。<br />还因为CMR.5-CMR.7是无效位。
页: [1]
查看完整版本: 我的CAN节点为什么不能自发?