高级会员

- 积分
- 549
- 金钱
- 549
- 注册时间
- 2019-7-3
- 在线时间
- 338 小时
|
20金钱
使用的是stm32f407,用的是hal库,spi刷屏太慢,想改为寄存器操作,修改的是下面这个函数,注释为寄存器操作(从正点原子寄存器版本源码复制过来的),然后寄存器操作黑屏,有人知道是什么原因么?
//SPI1 读写一个字节
//TxData:要写入的字节
//返回值:读取到的字节
u8 SPI3_ReadWriteByte(u8 TxData)
{
u8 Rxdata;
HAL_SPI_TransmitReceive(&hspi3,&TxData,&Rxdata,1, 1000);
return Rxdata; //返回收到的数据
// while((SPI3->SR&SPI_FLAG_TXE)==RESET); //等待发送区空
// SPI3->DR=TxData; //发送一个字节
// while((SPI3->SR&SPI_FLAG_RXNE)==RESET);
// return SPI3->DR;
// while((SPI3->SR&1<<1)==0); //等待发送区空
// SPI3->DR=TxData; //发送一个byte
// while((SPI3->SR&1<<0)==0); //等待接收完一个byte
// return SPI3->DR;
}
|
|