智能车制作

标题: KL26进不来外部中断 PTC9可以,PTA5不能 [打印本页]

作者: 秋水悠悠    时间: 2016-3-9 21:26
标题: KL26进不来外部中断 PTC9可以,PTA5不能


void PORTC_PORTD_IRQHandler(void);        //PORTC和PORTD端口中断服务函数
void key_handler(void);             //按键按下的测试中断服务函数

void PORTA_IRQHandler(void);        //PORTC和PORTD端口中断服务函数
void my_handler(void);   
void main()
{
    printf("\n*****按键测试*****\n");
    port_init(PTC9, ALT1 | IRQ_RISING | PULLDOWN );                      //初始化 PTC9 管脚,复用功能为GPIO ,下降沿触发中断,上拉电阻
      
    set_vector_handler(PORTC_PORTD_VECTORn ,PORTC_PORTD_IRQHandler);    //设置PORTC和PORTD的中断服务函数为 PORTC_PORTD_IRQHandler
    enable_irq (PORTC_PORTD_IRQn);                                      //使能PORTC和PORTD中断

   
    gpio_init (PTA5, GPI,0);
    port_init(PTA5, ALT1 | IRQ_RISING | PULLDOWN );  
    set_vector_handler(PORTA_VECTORn ,PORTA_IRQHandler);    //设置PORTC和PORTD的中断服务函数为 PORTC_PORTD_IRQHandler
    enable_irq (PORTA_VECTORn);  
    EnableInterrupts;
    while(1);
    {
        //disable_irq(PORTC_PORTD_IRQn);
    }
}

void PORTC_PORTD_IRQHandler(void)
{

    PORT_FUNC(C,9,key_handler);
}

void key_handler(void)
{
   static int16 i;
   i++;
   if(i%30==0)
    gpio_init (PTB23, GPO,0);
     else
    gpio_init (PTB23, GPO,1);
   
    if(i>65511) i=0;
}

void PORTA_IRQHandler(void)
{
   PORT_FUNC(A,5,my_handler);
}
void my_handler(void)
{
   static int16 i;
   i++;
   if(i%30==0)
    gpio_init (PTB23, GPO,0);
     else
    gpio_init (PTB23, GPO,1);
   
    if(i>65511) i=0;
}






欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2