高级会员

- 积分
- 545
- 金钱
- 545
- 注册时间
- 2018-6-6
- 在线时间
- 96 小时
|
10金钱
[mw_shl_code=c,true]
#define EXTI_IMR *((unsigned volatile int*)0X40010400)
#define EXTI_PR *((unsigned volatile int*)0X40010414)
#define EXTI_RTSR *((unsigned volatile int*)0X40010408)
#define EXTI_FTSR *((unsigned volatile int*)0X4001040C)
#define AFIO_EXTICR1 *((unsigned volatile int*)0X40010008)
#define AFIO_EXTICR2 *((unsigned volatile int*)0X4001000C)
#define AFIO_EXTICR4 *((unsigned volatile int*)0X40010014)
#define NVIC_ISER0 *((unsigned volatile int*)0XE000E100)
#define NVIC_ISER1 *((unsigned volatile int*)0XE000E104)
void INT_init(void)
{
//使能GPIOA、GPIOC
RCC_APB2ENR|=1<<2|1<<4;
GPIOA_CRL=0X8;//配置PA0为下拉模式
GPIOA_CRH=(unsigned int)1<<31;//配置PA15为上拉模式
GPIOA_ODR|=1<<15;
GPIOC_CRL=8<<16|8<<20;//配置PC4、PC5为上拉模式
GPIOC_ODR|=1<<4|1<<5;
//开启IO复用功能,设置映射关系
RCC_APB2ENR|=0X1;
AFIO_EXTICR4=0<<12; //PA15中断
AFIO_EXTICR2=2<<0|2<<4;//PC4,PC5中断
EXTI_IMR=1<<15|1<<5|1<<4|1;//开启PA15,PC5,PC4,PA0的中断
EXTI_FTSR|=1<<15|1<<5|1<<4;//设置PA15,PC5,PC4下降沿触发
EXTI_RTSR|=1;//设置PA0上降沿触发
NVIC_ISER0=1<<23|1<<10|1<<6;
NVIC_ISER1=1<<8;//使能中断
}
[/mw_shl_code]
|
最佳答案
查看完整内容[请看2#楼]
5-9号中断线共用一个,名称必须是:void EXTI9_5_IRQHandler(void)
10-15共用一个,名称必须是:void EXTI15_10_IRQHandler(void)
这是规定,不是你想当然编一个就行了的。
|