问下这不是个SPI数据交换函数吗?如果用这个函数来制作“读取”函数,返回值是不是永远和发送值一样了?
具体问题如下:(利用SPI1_ReadWriteByte(u8 TxData)函数制造xReadCH376Data( void ))
SPI1_ReadWriteByte(u8 TxData)
{
u8 retry=0;
while((SPI1->SR&1<<1)==0) //????·???????
{
retry++;
//if(retry>200)return 0;
}
SPI1->DR=TxData; //·???????byte
retry=0;
while((SPI1->SR&1<<0)==0) //?????????ê????byte
{
retry++;
//if(retry>200)return 0;
}
return SPI1->DR; //·?????????????
}
UINT8 xReadCH376Data( void )
{
UINT8 i;
mDelayuS(10);
i = SPI1_ReadWriteByte( 0xFF );
return( i );
}
这么一来这个“读取”程序是不是要不停读出0xFF了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
实际上返回了0xFF,可能是其他地方出了问题,我再找找原因吧,谢谢了!
一周热门 更多>