请问我按照教程写完如下函数后 ,能够进行
仿真实验吗?
u8 SPIx_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; //返回收到的数据 }
也就是说 我写完这个函数后不对W25X16进行任何编程和操作,
我想跳过W25X16后直接操作main函数如下:
int main(void)
{
u8 i;
/**STM32初始化 从略**/
while(1)
{
i=
SPIx_ReadWriteByte(0x09);
printf("%d",i);
}
}
就是为了检测spi是否可用,请问这样做可以吗?
如果可以 应该返回 9 才对,
为什么返回值总是为0
非常感谢!