[讨论] TI 的MSP430 芯片中断与时钟问题?

DavidZH   2015-9-24 12:31 楼主
   问题1: 在5种低功耗模式下,中断函数该怎么处理,涉及到哪些方面?
   问题2: TACLK和INCLK信号来源于哪里,具体怎么做?
欢迎大神拍砖!

回复评论 (4)

2推荐 littleshrimp 

低功耗下好像不需要对中断做特殊处理,如果想在收到中断后唤醒执行_BIC_SR_IRQ(LPMx_bits); 函数即可。
下边是MSP430G2553 LPM3的例子

  1. #include <msp430g2553.h>

  2. void main(void)
  3. {
  4.   BCSCTL1 |= DIVA_2;                        // ACLK/4
  5.   WDTCTL = WDT_ADLY_1000;                   // WDT 1s/4 interval timer
  6.   IE1 |= WDTIE;                             // Enable WDT interrupt
  7.   P1DIR = 0xFF;                             // All P1.x outputs
  8.   P1OUT = 0;                                // All P1.x reset
  9.   P2DIR = 0xFF;                             // All P2.x outputs
  10.   P2OUT = 0;                                // All P2.x reset

  11.   while(1)
  12.   {
  13.     int i;
  14.     P1OUT |= 0x01;                          // Set P1.0 LED on
  15.     for (i = 5000; i>0; i--);               // Delay
  16.     P1OUT &= ~0x01;                         // Reset P1.0 LED off
  17.     _BIS_SR(LPM3_bits + GIE);               // Enter LPM3
  18.   }
  19. }

  20. #pragma vector=WDT_VECTOR
  21. __interrupt void watchdog_timer (void)
  22. {
  23.     _BIC_SR_IRQ(LPM3_bits);                 // Clear LPM3 bits from 0(SR)
  24. }

时钟源的问题可以参考这个贴子
http://www.deyisupport.com/quest ... 0/f/55/t/66312.aspx
虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2015-9-24 16:27
问题1: 在5种低功耗模式下,中断函数该怎么处理,涉及到哪些方面?
答:这个你要看你自己的需求了,5中模式下打开或者关闭的东西都不太一样,所以你要结合你的需求和用户手册来决定了。
1.png
问题2: TACLK和INCLK信号来源于哪里,具体怎么做?
答:二楼的网址讲的很清楚,您可以参考下了。
点赞  2015-9-24 18:17
引用: littleshrimp 发表于 2015-9-24 16:27
低功耗下好像不需要对中断做特殊处理,如果想在收到中断后唤醒执行_BIC_SR_IRQ(LPMx_bits); 函数即可。
下 ...

bingo ,不错!就是这个,当时我理解的时候没有理解对
点赞  2015-9-25 16:26
引用: DavidZH 发表于 2015-9-25 16:26
bingo ,不错!就是这个,当时我理解的时候没有理解对


虾扯蛋,蛋扯虾,虾扯蛋扯虾
点赞  2015-9-25 16:39
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复