#include "sys.h"
#include "usart.h"
#include "delay.h"
#define KEY4 PEin(0)
#define KEY3 PAin(0)
void KEY_Init(void)
{
RCC->APB2ENR|=1<<2;
RCC->APB2ENR|=1<<6;
GPIOA->CRL&=0XFFFFFFF0;
GPIOA->CRL|=0X00000008;
GPIOA->ODR|=1<<0;
GPIOE->CRL&=0XFFFFFFF0;
GPIOE->CRL|=0X00000008;
GPIOE->ODR|=1<<0;
}
#define LED0 PAout(1)
#define LED1 PEout(1)
void LED_Init(void)
{
RCC->APB2ENR|=1<<2;
RCC->APB2ENR|=1<<6;
GPIOA->CRL&=0XFFFFFF0F;
GPIOA->CRL|=0X00000030;
GPIOA->ODR|=1<<1;
GPIOE->CRL&=0XFF0FFF0F;
GPIOE->CRL|=0X00000030;
GPIOE->ODR|=1<<1;
}
void EXTI0_IRQHandler(void)
{
delay_ms(10);
if(KEY3==0)
{
LED0=0;LED1=1;
}
if(KEY4==0)
{
LED0=1;LED1=0;
}
EXTI->  R=1<<0;
}
void EXTIX_Init(void)
{
KEY_Init();
Ex_NVIC_Config(GPIO_A,0,FTIR);
MY_NVIC_Init(2,1,EXTI0_IRQChannel,2);
Ex_NVIC_Config(GPIO_E,0,FTIR);
MY_NVIC_Init(2,0,EXTI0_IRQChannel,2);
}
int main(void)
{
Stm32_Clock_Init(9);
uart_init(72,9600);
delay_init(72);
LED_Init();
KEY_Init();
EXTIX_Init();
LED0=1;LED1=1;
while(1);
}
外部中断引脚的映射对应要怎么设置 我用PA0 PE0 进入中断0 中断初始的设置好像只对后面的那个有效
(
Ex_NVIC_Config(GPIO_E,0,FTIR);
MY_NVIC_Init(2,0,EXTI0_IRQChannel,2);
)
大家帮帮忙要如何修改才能实现 |