初级会员

- 积分
- 95
- 金钱
- 95
- 注册时间
- 2017-6-21
- 在线时间
- 31 小时
|

楼主 |
发表于 2017-12-29 11:39:44
|
显示全部楼层
我用的器件是epc610,比较偏的一个,用的SPI2,工作于主模式下的全双工,发送读取函数就是
u16 SPI2_ReadWriteByte(u16 TxData)
{
u8 retry=0;
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET)
{
retry++;
if(retry>200) return 0;
printf ("%s\n", "regular write always busy! RETRY SEND " );
}
SPI_I2S_SendData(SPI2, TxData); //í¨1yíaéèSPIx·¢Ëíò»¸öêy¾Y
retry=0;
while (SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET)
{
retry++;
if(retry>200)return 0;
printf ("%s\n", "regular write always busy! RETRY RECIVE" );
}
return SPI_I2S_ReceiveData(SPI2);
printf ("%s\n", "regular write always busy!" );
}
就是正点原子的代码啊 |
|