STM32F051寄存器方式读写SPI的DR寄存器
HAL库的SPI接口效率较低,想试试用寄存器方式配置SPI外设,然后用SPI接口读取外部FLASH。结果配置好后读取到的数据全为0,通过仿真发现配置的寄存器都是正确的,使用断点调试SPI接口能读取到正确的数据。对比HAL对寄存器的操作,发现没有落下哪个步骤,但是使用寄存器方式读取数据始终是0,程序如下图 忘记程序截图了F0的 SPI 有个FIFO 阈值需要配置, FRXTH@spi_cr2配置为1后测试下。 试下3楼的建议。
若还是不行,建议可以把初始化代码上传,大家帮你看。 过来学习学习 xmshao 发表于 2017-1-11 17:17
F0的 SPI 有个FIFO 阈值需要配置, FRXTH@spi_cr2配置为1后测试下。
恩,配置为4分之1个字也就是8位,但是还是一样的问题。在寄存器和HAL库配置完SPI后所有寄存器都是一样的。 Dylan疾风闪电 发表于 2017-1-11 17:21
试下3楼的建议。
若还是不行,建议可以把初始化代码上传,大家帮你看。
这个有点不方便,如果你想试试的话你可以使用HAL库的初始化函数然后把发送接收改成我这样测试就知道了 海迹天涯 发表于 2017-1-12 08:43
这个有点不方便,如果你想试试的话你可以使用HAL库的初始化函数然后把发送接收改成我这样测试就知道了 ...
不去试了,你贴出来的这个函数不存在问题。
Dylan疾风闪电 发表于 2017-1-12 14:58
不去试了,你贴出来的这个函数不存在问题。
那就奇怪了,初始化没问题,读写函数也没问题,为啥读出来就是0了呢
页:
[1]