This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430功耗和中断优先级问题

Other Parts Discussed in Thread: MSP430FR5969

我现在使用的是msp430FR5969,现在有3个疑问

①datasheet中标明了Timer_A的功耗为3uA/MHz,可是实际使用中,我1ms进一次中断和10ms进一次中断的功耗差别还是很明显的(同样的中断函数),

我Timer_A的CLK分别选用32768和16M时的功耗差别也没有相差500倍(16M/32768)?

②在中断函数中的语句在执行时是使用的MCLK还是Timer_A的CLK?

③msp430的中断优先级无法做到像其他MCU那样,本中断正在执行时,低优先级的中断无法打断它,而高优先级的中断可以打断它吗?我现在需要这么使用的话应该怎么做?

谢谢!

  • 1. 如果系统是在低功耗待机模式下,1ms进一次中断和10ms进一次中断,功耗当然不一样。

    Timer_A功耗跟时钟没多大关系。

    2. 系统时钟,MCLK

    3. 430中断不能嵌套。

  • 系统是运行在低功耗模式下,都是采用的ACLK(f=32000),那1ms进一次中断和10ms进一次的中断的功耗区别会有多大?多出来的功耗是否都消耗在中断函数中了?

    如果定时器不进入中断,那定时器的功耗是否就是32K/1M*3uA/MHz = 0.096uA?

    另外 MPY的功耗为25uA/MHz ,我现在使用的编译环境是IAR,其可以设置自动开启MPY,那么25uA/MHz是否是指的只有在开启硬件乘法器的这几条语句才会消耗功耗,执行完乘法后会自动关闭MPY,这部分就不再消耗电流了?

    谢谢!

  • 1ms 进一次中断意味着 1s钟要进1000次中断

    而10ms进一次则1s钟进100次

    中断中 系统是工作在 active模式下的。 

    所以刨去低功耗模式,两者的功耗是1:10