BeHappy 发表于 2025-12-28 16:48:39

QSPI应用,FTF标志位与QSPI_SR2内容不符

问题描述:

用QSPI接口对外部设备执行写入数据操作时,以我的理解,当mcu对外写入数据,存储到FIFO的字节数超出QSPI_CR2设定的阈值时,FTF标志置位。一旦把FIFO的数据写入到外部设备(至少1个字节),FTF标志即被复位。
现在遇到的情况是:通过QSPI接口对外写入数据,经查,当QSPI_SR2已经为0的情况下,再查FTF标志,仍然是置位状态。这一点我不理解 :-(
麻烦帮忙解惑一下,谢谢先 :-)

ercircle 发表于 2025-12-28 21:11:37

用的自动轮询模式?






BeHappy 发表于 2025-12-28 21:13:45

ercircle 发表于 2025-12-28 21:11
用的自动轮询模式?

您好,疏忽了,没说清楚。
用的是间接写模式。

ercircle 发表于 2025-12-29 09:06:28

BeHappy 发表于 2025-12-28 21:13
您好,疏忽了,没说清楚。
用的是间接写模式。

QSPI_CR2设定的阈值是多少呢?
并不是“把FIFO的数据写入到外部设备(至少1个字节),FTF标志即被复位”
而是数据量超过阈值即置位FTF标志


BeHappy 发表于 2025-12-29 19:20:55

ercircle 发表于 2025-12-29 09:06
QSPI_CR2设定的阈值是多少呢?
并不是“把FIFO的数据写入到外部设备(至少1个字节),FTF标志即被复位”
...

阈值设置为31.
可以说,FTF在FIFO存储的字节数一旦小于31,FTF标志位,就会自行置零,这样对不?

ercircle 发表于 2025-12-29 19:30:37

BeHappy 发表于 2025-12-29 19:20
阈值设置为31.
可以说,FTF在FIFO存储的字节数一旦小于31,FTF标志位,就会自行置零,这样对不? ...

31时,是小于32就应清零。
字节数是阈值+1
都是“更多”,即>=(阈值+1)时FTF置1,否则为0.






BeHappy 发表于 2025-12-29 20:45:42

ercircle 发表于 2025-12-29 19:30
31时,是小于32就应清零。
字节数是阈值+1
都是“更多”,即>=(阈值+1)时FTF置1,否则为0.


非常感谢 :-)
页: [1]
查看完整版本: QSPI应用,FTF标志位与QSPI_SR2内容不符