示例#1
0
void portc4_isr(void)
{
	if(LPLD_GPIO_IsPinxExt(PORTC, GPIO_Pin4))
	{
		delay();
		if(PTCn_I(4)==0)
		{
			printf("Button1-PTB6 Interrupt!\r\n");
			LPLD_GPIO_Toggle_b(PTC, 0);
		}
	}
}
/*
 * PortB中断回调函数
 *
 */
void portb_isr()
{
  //如果PTB6产生中断
  if(LPLD_GPIO_IsPinxExt(PORTB, GPIO_Pin6))
  {
    //去抖
    delay();
    if(PTB6_I==0)
    {
      printf("Button1-PTB6 Interrupt!\r\n");
    }
  }
  
  //如果PTB7产生中断
  if(LPLD_GPIO_IsPinxExt(PORTB, GPIO_Pin7))
  {
    //去抖
    delay();
    if(PTB7_I==0)
    {
      printf("Button2-PTB7 Interrupt!\r\n");
    }
  }
}
void buttonsetisr()
{
  DisableInterrupts;
  if(LPLD_GPIO_IsPinxExt(PORTD, GPIO_Pin7))
  {
    
    if(PTD7_I==0)
    {
      for(uint32_t i = 0;i<0xffff;i++)
        ;
      if(myflag2 == 0)
        MyDb=1.3;
      else 
        MyDb = 0.5;
      myflag2 = !myflag2;
    }
  }
  EnableInterrupts;
}
void buttonisr()
{
  DisableInterrupts;
  if(LPLD_GPIO_IsPinxExt(PORTA, GPIO_Pin6))
  {
    
    if(PTA6_I==0)
    {
      for(uint32_t i = 0;i<0xffff;i++)
        ;
      //   starfir = 1;
      MyDb+=0.01;
      if(MyDb>1.3)
        MyDb = 1.3;
    }
  }
  
  
  if(LPLD_GPIO_IsPinxExt(PORTA, GPIO_Pin8))
  {
    
    if(PTA7_I==0)
    {
      for(uint32_t i = 0;i<0xffff;i++)
        ;
      //     starfir = 0;
      MyDb-=0.01;
      if(MyDb<0)
        MyDb = 0;
    }
  }
  
  if(LPLD_GPIO_IsPinxExt(PORTA, GPIO_Pin10))
  {
    
    if(PTA10_I==0)
    {
      for(uint32_t i = 0;i<0xffff;i++)
        ;
      starfir++;
      if(starfir > 2)
        starfir = 0;
      if(starfir == 1)
      {
        MyDb = 0.4;
        ShowMenu = 1;
      }
      else if(starfir == 0)
      {
        MyDb = 0.5;
        ShowMenu = 1;
      }
      else if(starfir == 2)
      {
        MyDb = 0.5;
        ShowMenu = 1;
      }
      
    }
  }
  EnableInterrupts;
}