其实SJA1000的发送/接收程序,不过是要求完成一个数组的拷贝。C51是处理对象的,何谓对象?数组是不是一个对象?因此发送程序应该写为:<br /><br /> SJA1000_TXB对象A=用户发送数据对象B <br /><br />假定SJA1000地址在0x7f,发送/接收缓存在0x7f10。发送/接收ID=0x78e(RTR=0),用户发送数据在TXdata[11],用户接收数据在RXdata[11].<br /><br /> uchar TXdata[11]={0x08,0x78,0xe0,0x33,0x34,0x35,0x36,0x37},RXdata[11];<br /><br /><br />我的发送程序:<br /><br />void send() <br />{ <br />*(PA xdata *)0x7f10=*(PA *)TXdata;<br />can_write(CMR,0x01);<br />}<br /><br /><br />我的接收程序:<br />void receive(void)<br />{ <br />*(PA *)RXdata=*(PA xdata *)0x7f10;<br />can_write(CMR,0x04);<br />}<br /><br />PA是在头文件中定义的数据类型,各位都想得到。“不是我们做不到,而是我们想不到”。<br /><br /><br /><br /><br /> |
|