智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 854|回复: 0
打印 上一主题 下一主题

KL26进不来外部中断 PTC9可以,PTA5不能

[复制链接]

2

主题

22

帖子

0

精华

高级会员

Rank: 4

积分
766
威望
378
贡献
212
兑换币
243
注册时间
2015-10-26
在线时间
88 小时
毕业学校
合肥学院
跳转到指定楼层
1#
发表于 2016-3-9 21:26:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


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;
}

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-10-2 06:29 , Processed in 0.070573 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表