高级会员
- 积分
- 766
- 威望
- 378
- 贡献
- 212
- 兑换币
- 243
- 注册时间
- 2015-10-26
- 在线时间
- 88 小时
- 毕业学校
- 合肥学院
|
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;
}
|
|