错误状态
对于 SPI 控制器,发生任何一种错误,硬件都会将 SPI 中断状态寄存器中对应的位置1并停止传输,主要的错误状态描述如下:
错误类型 | 原因 | 状态 | 处理方法及结果 |
---|---|---|---|
TX_FIFO 下溢出 | 从空的 FIFO 中读取数据 |
SPI 控制器停止传输并将对应的中断状态位 TF_UDF 置1。 此时 SPI 控制器会产生一个硬件中断信号。 |
如果开始新的数据传输,需要在 寄存器中将 CTRL_RST 位置1,将 FIFO 进行复位。处理完该异常后需要软件将该状态位清零。 |
TX_FIFO 上溢出 | 向满的 FIFO 中发送数据 |
SPI 控制器停止传输并将对应的中断状态位 TF_OVF 置1。 此时SPI控制器会产生一个硬件中断信号。 |
如果开始新的数据传输,需要在 寄存器中将 CTRL_RST 位置1,将 FIFO 进行复位。处理完该异常后需要软件将该状态位清零。 |
RX_FIFO 下溢出 | 从空的FIFO中读取数据。 |
SPI 控制器停止传输并将对应的中断状态位 RF_UDF 置1。 此时 SPI 控制器会产生一个硬件中断信号。 |
如果开始新的数据传输,需要在 寄存器中将 CTRL_RST 位置1,将 FIFO 进行复位。处理完该异常后需要软件将该状态位清零。 |
RX_FIFO 上溢出 | 向满的 FIFO 中发送数据 |
SPI 控制器停止传输并将对应的中断状态位 RF_OVF 置1。 此时 SPI 控制器会产生一个硬件中断信号 |
如果开始新的数据传输,需要在 寄存器中将 CTRL_RST 位置1,将 FIFO 进行复位。处理完该异常后需要软件将该状态位清零。 |