理论教育 SPI中断相关设置及优先级选择

SPI中断相关设置及优先级选择

时间:2023-06-15 理论教育 版权反馈
【摘要】:3)SPI超限中断使能位:OVERRUN INT ENA。在SPIRXBUF中的字符被读出前,如果一个新的字将被接收,装入SPIRXBUF寄存器中并覆盖旧数据,则该位置位。由SPI超时中断标志位和SPI中断标志位产生的中断共用同一个中断矢量。为了保证SPI能够响应下一个超时中断,必须在中断服务子程序中将RECEIVER OVERRUN FLAG标志位清零。5)SPI中断优先级选择位:SPI PRIORITY。该位的值决定来自于SPI的中断请求的级别。

SPI中断相关设置及优先级选择

有5个控制位和标志位用于串行外设接口的中断:

1)SPI中断使能位:SPI INT ENA(SPICTL.0)。

2)SPI中断标志位:SPI INT FLAG(SPISTS.6)。当整个字符被移入或移出寄存器SPI-DAT后,该位被置1。如果中断使能,则产生中断请求。

以下情况之一发生时可以使中断标志位清零:

●中断被响应。

●CPU读取寄存器SPIRXBUF(读取寄存器SPIRXEMU并不清除中断标志位)。

●用一条IDLE指令使器件进入IDLE2低功耗模式或HALT模式。

●写0到SPISWRESET位(SPICCR.7)。(www.daowen.com)

●系统复位。

3)SPI超限中断使能位:OVERRUN INT ENA(SPICTL.4)。在SPIRXBUF中的字符被读出前,如果一个新的字将被接收,装入SPIRXBUF寄存器中并覆盖旧数据,则该位置位。

该位可由以下3种操作清零:写1到该位、写0到SPI SW RESET位、系统复位。

由SPI超时中断标志位(SPISTS.7)和SPI中断标志位(SPISTS.6)产生的中断共用同一个中断矢量。在OVERRUN INT ENA位被置位时,SPI将在第一次RECEIVER OVERRUN FLAG置位时产生1次中断请求。为了保证SPI能够响应下一个超时中断,必须在中断服务子程序中将RECEIVER OVERRUN FLAG标志位清零。

4)SPI接收器超限中断标志位:RECEIVER OVERRUN FLAG(SPISTS.7)。

5)SPI中断优先级选择位:SPI PRIORITY(SPIPRI.6)。该位的值决定来自于SPI的中断请求的级别。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈