泰凌微825X_外部中断

按照目前的理解,内部有三组中断源可以选择,每组中断源可以匹配一个或者几个GPIO口,在这里仅做了一个中断源,下降沿触发。

#define INT_PIN		GPIO_PB3

void int_pin_init(void)
{
	for(u8 index = 0; index < IRQ_MAX ; index++)
	{
		gpio_set_func(INT_PIN, AS_GPIO);//设置引脚为GPIO模式,设置的时候会清除复用功能
		gpio_set_input_en(INT_PIN, 1);//GPIO设为输入
		gpio_set_output_en(INT_PIN, 0); //不使能输入
		gpio_setup_up_down_resistor(INT_PIN, PM_PIN_PULLUP_10K);//设置为上拉

		gpio_set_data_strength(INT_PIN, 1);//设置为强驱动
		gpio_set_interrupt_pol(INT_PIN, POL_FALLING);//下升沿触发中断

		reg_irq_src = FLD_IRQ_GPIO_EN; //清中断标志
		reg_irq_mask |= FLD_IRQ_GPIO_EN;//使能irq中断
		gpio_en_interrupt(INT_PIN, 1);//使能该引脚的中断
	}
    irq_enable();  //使能总中断
}

并在中断回调函数中进行中断源的判断,清除中断,和中断任务的执行

_attribute_ram_code_ void irq_handler(void)
{
	irq_blt_sdk_handler();

	if(reg_irq_src & FLD_IRQ_GPIO_EN)
	{
		static  int aaaaa = 0;
		aaaaa++;
		printf("%d\n",aaaaa);
		reg_irq_src = FLD_IRQ_GPIO_EN;

	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值