|
用过MCP2510的高手请进,为什么无法从SPI口读取mcp2510的数据!!!
[复制链接]
请问为什么我无法读取mcp2510芯片的数据????????
硬件连接很简单!用三星S3C44b0的io口模拟spi总线接口与mcp2510的SPI口对应相接! 型号mcp2510 I/P 。所接的电压是3.3v。 然后7,8脚接晶振。但是根据时许图编写出来的程序无法读取片内数据。。。。难道片子坏了1!!
单字节spi收发程序如下:
U8 recdata;
U8 data;
int i=0;
recdata = 0;
data = bData;
for(i=0;i<8;i++)
{
SPI_CLK_0(); //时钟线为0
if((data & 0x80)!=0 ) SPI_TX_1(); // 等待SPIF置位,即等待数据发送完毕 ,MSB模式
else SPI_TX_0();
delay_us(1);
data <<= 1;
SPI_CLK_1(); //时钟线置一
if(0 != SPI_RX()) recdata |= 1; //此时,应该给recdata最低位置位
if(7 != i) recdata <<= 1; //最后一次不要移位
delay_us(1);
}
*pData = recdata;
我把44b0(mcu的一款)的模拟spi口的发送和接收引脚直接相连后,可以读出发送的数据,说明这个收发程序是可以用的。然后我编写了spi时序,但是每次SPI读出的数据都是255:和没接一样!!检查很久,未果 :( 望各位大侠指教,谢谢!!!!!
|
|