ZHCU032K December 2004 – August 2022 MSP430AFE221 , MSP430AFE222 , MSP430AFE223 , MSP430AFE231 , MSP430AFE232 , MSP430AFE233 , MSP430AFE251 , MSP430AFE252 , MSP430AFE253 , MSP430F2001 , MSP430F2002 , MSP430F2003 , MSP430F2011 , MSP430F2012 , MSP430F2013 , MSP430F2101 , MSP430F2111 , MSP430F2112 , MSP430F2121 , MSP430F2122 , MSP430F2131 , MSP430F2132 , MSP430F2132-EP , MSP430F2232 , MSP430F2234 , MSP430F2252 , MSP430F2252-Q1 , MSP430F2254 , MSP430F2272 , MSP430F2272-Q1 , MSP430F2274 , MSP430F2274-EP , MSP430F233 , MSP430F2330 , MSP430F235 , MSP430F2350 , MSP430F2370 , MSP430F2410 , MSP430F2416 , MSP430F2417 , MSP430F2418 , MSP430F2419 , MSP430F247 , MSP430F2471 , MSP430F248 , MSP430F2481 , MSP430F249 , MSP430F2491 , MSP430F2616 , MSP430F2617 , MSP430F2618 , MSP430F2619 , MSP430G2001 , MSP430G2101 , MSP430G2102 , MSP430G2111 , MSP430G2112 , MSP430G2121 , MSP430G2131 , MSP430G2132 , MSP430G2152 , MSP430G2153 , MSP430G2201 , MSP430G2201-Q1 , MSP430G2202 , MSP430G2203 , MSP430G2210 , MSP430G2211 , MSP430G2212 , MSP430G2213 , MSP430G2221 , MSP430G2230 , MSP430G2231 , MSP430G2231-Q1 , MSP430G2232 , MSP430G2233 , MSP430G2252 , MSP430G2253 , MSP430G2302 , MSP430G2303 , MSP430G2312 , MSP430G2313 , MSP430G2332 , MSP430G2333 , MSP430G2352 , MSP430G2353 , MSP430G2402 , MSP430G2403 , MSP430G2412 , MSP430G2413 , MSP430G2432 , MSP430G2433 , MSP430G2444 , MSP430G2452 , MSP430G2453 , MSP430G2513 , MSP430G2533 , MSP430G2544 , MSP430G2553 , MSP430G2744 , MSP430G2755 , MSP430G2855 , MSP430G2955 , MSP430TCH5E
每个 DMA 通道都有自己的 DMAIFG 标志。当相应的 DMAxSZ 寄存器计数到 0 时,每个 DMAIFG 标志都可以在任何模式下被设置。如果相应的 DMAIE 和 GIE 位都被设置,则会产生一个中断请求。
所有的 DMAIFG 标志只源自 DMA 控制器中断向量且,在一些器件上,可以和其他模块分享该中断向量。进一步更多详细信息请参阅《特定器件的数据手册》。对这些器件来说,软件必须检查 DMAIFG 和相应的模块标志来判断中断源。DMAIFG 标志不会自动复位且必须由软件复位。
此外,一些器件使用 DMAIV 寄存器。为了源自同一个中断向量源,所有 DMAIFG 标志都被优先级化,和正成为最高优先级的 DMA0IFG 一起,被结合在一起 。最高优先级的被启用的中断产生在 DMAIV 寄存器中生成了一个数字。为了自动进入相应的软件程序,可以对这个数字进行评估,或将其添加到程序计数器。禁用的 DMA 中断不影响 DMAIV 的值。
任何对 DMAIV 寄存器的访问,读取,或写入都将自动复位最高优先级的那个挂起的中断标志。如果另一个中断标志被置位,则另一个中断将会在最初的中断服务结束后立即产生。例如,假设 DMA0 有最高的优先级。如果 DMA0IFG 和 DMA2IFG 标志被置位,当中断服务子程序在访问 DMAIV 寄存器时,DMA0IFG 会自动复位。在中断服务子程序执行完 RETI 指令后,DMA2IFG 将会生成另一个中断。
下面的软件示例是 DMAIV 和处理开销的推荐用法。为了自动跳转到相应的程序,DMAIV 值将被添加到 PC。
在右边距的数字显示了每条指令所需的 CPU 周期。不同中断源的软件开销包括中断延迟时间和从中断返回周期,但不包含处理本身的任务。