初级会员

- 积分
- 77
- 金钱
- 77
- 注册时间
- 2018-3-29
- 在线时间
- 21 小时
|
1金钱
关于hal库里的 HAL_SPI_TransmitReceive这个函数
之前没用过spi,目前在调一个spi摄像头,时序要求1/27s内传输读取完一帧的图像数据,一帧图像9840个字节
通过使用下面这个函数
u8 SPI5_ReadWriteByte(u8 TxData)
{
u8 Rxdata;
HAL_SPI_TransmitReceive(&SPI5_Handler,&TxData,&Rxdata,1, 1000);
return Rxdata;
}
传输一个字节的数据,我用st-link Debug调试发现执行一次HAL_SPI_TransmitReceive()需要大概0.16ms的时间,这样算下来,光读完这一帧图像的数据就要1s多,
系统时钟方面也有尝试调高频率,但是并没有明显的改善。
是这个函数的效率问题么?还是我计算的方式问题?有什么建议的解决方案。
请各位大佬指点迷津,不胜感激。
|
最佳答案
查看完整内容[请看2#楼]
参考我们SPI的配置。 我们的SPI例程,不是驱动了NRF24L01么?
你看我们例程,发送数据,是16个时钟么?
不是的话,依葫芦画瓢,,参考我们的SPI 配置。
|