新手上路
- 积分
- 23
- 金钱
- 23
- 注册时间
- 2019-5-6
- 在线时间
- 7 小时
|
硬件SPI读寄存器值,请问这读函数有问题吗
uint8_t WriteByte(uint8_t Data)
{
while(SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET){ }
SPI_SendData(Data);
while(SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET){ }
return SPI_ReceiveData();
}
uint8_t ReadByte(void)
{
while (SPI_GetFlagStatus(SPI_FLAG_TXE) == RESET){}
SPI_SendData(0xff);
while(SPI_GetFlagStatus(SPI_FLAG_BSY) == SET){}
while (SPI_GetFlagStatus(SPI_FLAG_RXNE) == RESET) { }
return SPI_ReceiveData();
}
void Read_ID(uint8_t address)
{
uint8_t r1,r2,r3;
GPIO_WriteLow(GPIOE, GPIO_PIN_5);
WriteByte(address);
r1 = ReadByte();
r2 = ReadByte();
r3 = ReadByte();
printf("\n\r Read = %x %x %x \n\r",r1,r2,r3); //53
GPIO_WriteHigh(GPIOE, GPIO_PIN_5);
}
|
|