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.

MSP430F5529: msp430f5529

Part Number: MSP430F5529

您好,我在使用timer_A计时器输出一个数组m[10],每次中断输出a[k] (k从0到9),我想当k=10时,关闭中断,重新从内存中读取新的数值赋给数组a,不清楚如何关闭定时器a的中断,并在数组重置赋值后打开

  • 您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!

  • 您好,有以下两种方法:

    1) 使用 -> TA0CCTL0 &= ~CCIE 禁用定时器中断;

    2)禁用全局中断 -> _BIC_SR_REGISTER (GIE) 。

    需要注意的是,第二种方法会禁用所有 MSP430 中断,因此如果您有其他使用中断的外设 (如 ADC) ,建议您不要使用该种方法。

  • 您好,中断程序中的变量似乎不能作用在主程序中,比如我这里在中断程序使用了n++来计数,希望n到9时,可以关闭定时器,但是测试发现实际上是一直有输出的,timer_a一直在工作

  • 您好,请问这个问题和您提的另一个问题是类似的吗?是的话我帮您一起整理到另一个帖子中去,这样方便工程师处理。

  • 您好,是的。我想设计的就是一个把flash中存储的数据赋给数组,然后每次定时器中断输出一个数组值的程序。但是由于数据过大,ccs中我定义的数组好像一次性存放不下,所以我希望在定时器累计中断一定次数时可以返回一个值给主程序,通过这个反馈值关闭中断重写数组然后再重复上述的输出过程。

  • 好的,您的具体信息我都跟进到同一个帖子中,该贴会先关闭。谢谢!