[CAN-bus/DeviceNet] AVR单片机的can通信问题求助!!!

[复制链接]
 楼主| xhming 发表于 2008-7-9 10:49 | 显示全部楼层 |阅读模式
我用的是ATmage16单片机,现在出现一个问题,当我发送数据的时候,读取状态寄存器时,一直不对。<br /><br />if((ReadSjaReg(REG_STATUS)&0x08))<br />&nbsp;&nbsp;{<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;PORTC&=~0x08;<br />&nbsp;&nbsp;&nbsp;&nbsp;if((ReadSjaReg(REG_STATUS)&0x04))<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer1)&nbsp;=&nbsp;SendBuf[0];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer2)&nbsp;=&nbsp;SendBuf[1];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;datalong&nbsp;=&nbsp;SendBuf[1]&nbsp;&&nbsp;0x0f;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(datalong&gt0)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer3)&nbsp;=&nbsp;SendBuf[2];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer4)&nbsp;=&nbsp;SendBuf[3];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer5)&nbsp;=&nbsp;SendBuf[4];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer6)&nbsp;=&nbsp;SendBuf[5];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer7)&nbsp;=&nbsp;SendBuf[6];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer8)&nbsp;=&nbsp;SendBuf[7];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer9)&nbsp;=&nbsp;SendBuf[8];<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*((uchar&nbsp;*)REG_TxBuffer10)&nbsp;=&nbsp;SendBuf[9];<br />&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;WriteSjaReg(REG_COMMAND,0x01);&nbsp;//置位发送请求位<br />&nbsp;&nbsp;&nbsp;PORTC&=~0x10;<br />&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<br />&nbsp;&nbsp;}<br /><br />就没进入到这个里面来,那应该是状态寄存器出了问题,这个该怎么解决啊。<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

41

帖子

0

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