在自动轮询模式下,QSPI 周期性启动命令以读取一定数量的状态字节(最多 4 个)。 可屏蔽接收的字节以隔离一些状态位,从而在所选的位具有定义的值时可产生中断。
对 Flash 的访问最初与在间接读取模式下相同:如果不需要地址(AMODE = 00),则在写入QSPI_CCR 时即开始访问。否则,如果需要地址,则在写入 QSPI_AR 时开始第一次访问。BUSY在此时变为高电平,即使在周期性访问期间也保持不变。
在自动轮询模式下,MASK[7:0](QSPI_PSMAR)的内容用于屏蔽来自 Flash 的数据。
如果 MASK[n] = 0,则屏蔽结果的位 n,从而不考虑该位。如果 MASK[n] = 1 并且位[n]的内 容与 MATCH[n] (QSPI_PSMAR)相同,说明存在位 n 匹配。
如果轮询匹配模式位(PMM, QSPI_CR3[7])为 0,将激活“AND”匹配模式。这意味着状态匹配标志(SMF)仅在全部未屏蔽位均存在匹配时置 1。
如果 PMM = 1,则激活“OR”匹配模式。这意味着 SMF 在任意未屏蔽位存在匹配时置 1。
如果 SMIE = 1,则在 SMF 置 1 时调用一个中断。
如果自动轮询模式停止(APMS)位置 1,则操作停止并且 BUSY 位在检测到匹配时清零。否则,BUSY 位保持为“1”,在发生中止或禁止 QSPI(EN = 0)前继续进行周期性访问。
数据寄存器(QSPI_DR)包含最新接收的状态字节(FIFO 停用)。数据寄存器的内容不受匹配逻辑所用屏蔽方法的影响。FTF 状态位在新一次状态读取完成后置 1,并且 FTF 在数据读取后清零。