请教一下关于msp430低功耗编程的例子

2019-03-24 12:48发布

  1. {初始化设置;

  2. while(1)
  3. {

  4. if(Power)
  5. {
  6. GetData();//采集数据
  7. if(ucIfbrk==0) //采集无错数据转换
  8. {
  9. DataChg();
  10. DataSend();            //串口发送数据
  11. UART0_Send_Byte('#');
  12. delay_ms(1000);
  13. }
  14. else
  15. {
  16. UART0_Send_Byte('E');
  17. ucIfbrk = 0;
  18. }}}}
  19. //开关P2.0中断
  20. #pragma vector= PORT2_VECTOR
  21. __interrupt void P2ISR(void)
  22. {
  23. if(P2IFG&BIT0)
  24. {
  25. delay_ms(8);//延时消抖
  26. if(!(P2IN&BIT0))
  27. {
  28. if(Power)//若原来是开机状态,现在改为关机,
  29. {
  30. Power=0;
  31. P2OUT =Power;//led关P2.1=0
  32. P2IFG &=~BIT0;
  33. _BIS_SR(LPM2_bits+GIE); // Enter LPM3
  34. }
  35. else///若原来是guan机状态,现在改为开机
  36. {Power=1;
  37. P2OUT =(Power<<1);//LED开
  38. P2IFG &=~BIT0;
  39. LPM2_EXIT; // Exit LPM3 on return
  40. }
  41. }
  42. P2IFG &=~BIT0;
  43. }
复制代码本人想搞个开关,实现按一下关机,按一下在进入工作状态,Power=1作为工作,power=0为低功耗,请教一下进入什么低功耗模式合适?相当与关机。
以上为我写的简单程序,发现中断部分呢正常工作,但是当Power——》0——》1这时,无法进入到while的循环中,请教问题在哪里?能否提供一两个例子让我看看?

[ 本帖最后由 koanzhongxue 于 2013-3-26 13:36 编辑 ] 此帖出自小平头技术问答
0条回答

一周热门 更多>

相关问题

    相关文章