设定为下降沿中断触发,但实际上升沿和下降沿一起触发
输入中断源PA1,PA2
大家帮忙看下是否有问题
谢谢
[mw_shl_code=c,true] #include "cigang.h"
void Single_Input_Init(void)
{
RCC->APB2ENR |= 1<<2; //
GPIOA->CRL &= 0xfffff00f; /
GPIOA->CRL |= 0x00000880;
GPIOA->ODR |= 1<<1;
GPIOA->ODR |= 1<<2;
}
void Single_Output_Init(void)
{
RCC->APB2ENR |= 1<<3;
GPIOB->CRH &= 0x0000ffff;
GPIOB->CRH |= 0x33330000; //
single_jk2 = 0;
single_out1 = 0;
single_out2 = 0;
}
void EXTIX_Init(void)
{
Single_Input_Init();
Ex_NVIC_Config(GPIO_A,1,FTIR); //
Ex_NVIC_Config(GPIO_A,2,FTIR); /
MY_NVIC_Init(2,1,EXTI1_IRQChannel,2); //
MY_NVIC_Init(2,0,EXTI2_IRQChannel,2); //
}
void EXTI1_IRQHandler(void)
{
if(Single_in1==0) //????????PA1????????
{
//???§?ú??
single_jk2 = 1; //PB13(JK2)??????
single_out2 = 1; //PB15(OUT2)??????
delay_us(70);
single_jk2 = 0;
delay_us(30); //??×÷???±,???????????ú????·??ò?????±??
single_out2 = 0;
//delay_us(50);
//???§?ú???á??
}
EXTI->  R=1<<1; //????LINE1????????±ê????
}
//????????2·??????ò
void EXTI2_IRQHandler(void)
{
if(Single_in2==0) //????????PA2????????
{
//???§?ú??
single_jk1 = 1; //PB12(JK1)??????
single_out1 = 1; //PB14(OUT1)??????
delay_us(70);
single_jk1 = 0;
delay_us(30); //??×÷???±,???????????ú????·??ò?????±??
single_out1 = 0;
//delay_us(5000);
//???§?ú???á??
}
EXTI->  R=1<<2; //????LINE2????????±ê????
}[/mw_shl_code]
|