外部中断程序是这么写的
#include "stm32f10x_map.h" void delay(u32 time); unsigned int i=0; /*---------------------------------------------------------------------------- EXTI0 Interrupt Handler *----------------------------------------------------------------------------*/ void EXTI0_IRQHandler(void) { i=!i; if (EXTI->PR & (1<<4)) EXTI->PR = (1<<4); if(i) { GPIOC->ODR = (u32)0x20; } else { GPIOC->ODR = (u32)0x0; } } /*---------------------------------------------------------------------------- main function *----------------------------------------------------------------------------*/ int main(void) { //----------------------CLOCK config--------------------------------// RCC->CFGR |= (0xf<<18); //6倍频 RCC->CR |= (1<<24); //使能PLL while(!(RCC->CR & (1<<25))); //等待PLL稳定 RCC->CFGR |= (1<<1); //设置PLL输出为sysclock //----------------------GPIO config--------------------------------// RCC->APB2ENP = (u32)0x31; //使能portC,D and AFIO时钟 GPIOC->CRL = (u32)0x44114444; //设置GPIOC.4/5为OUTPUT, PULLUP-PULLDOWN //----------------------config the EINT3---------------------------// (AFIO->EXTICR[1]) = 3; //设置PD4为EXTI4中断请求源 EXTI->FTSR = (1<<4); //下降沿触发 EXTI->EMR = (1<<4); //清除EINT4事件请求屏蔽 EXTI->IMR = (1<<4); //清除EINT4中断请求屏蔽 while(1); } 不知道这么写对吗?反正中断进不了