huangxz 发表于 2013-5-13 11:52 
呵呵,早说嘛,
你看看,最简单的读状态命令也是从第二个字节开始才有SO输出的 - //*******************************CAN读数据**************************************
- uchar CAN_Read_SS(uchar address)
- {
- uchar ret;
- CANCSUP; //片选拉高
- DelayUs(4);
- CANCSDW; // 片选拉低,使能MCP2510
- DelayUs(4);
- SPISendByte(0x03); // 写 0x30读指令
- SPISendByte(address); // 写地址
- ret = SPIRecvByte(); //读数据
- CANCSUP; //片选拉高
- return ret;
- }
- //********************************CAN写数据*************************************
- void CAN_Write_SS(uchar address,uchar Value)
- {
- CANCSUP;
- DelayUs(4);
- CANCSDW; // 片选拉低,使能MCP2510
- DelayUs(4);
-
- SPISendByte(0x02); // 写命令
- SPISendByte(address); // 写地址
- SPISendByte(Value); // 写数据
- CANCSUP; // 片选拉高
- DelayUs(5);
- }
我是这样的。。。在写指令,写地址,写数据时,CS是一直拉低的。。。读也是一直拉低的。。。
|