UART1、SPI1、Timer1、ADC1、ADC2、所有普通IO口PAPE、第二功能IO口。下图是STM32用户手册中的时钟系统结构图,通过该图可以从总体上掌握STM32的时钟系统。
STM32外部中断之二STM32资料200909102118字号:大大中中小小STM32外部中断配置阅读243评论0
1配置中断1、分配中断向量表:SettheVectorTablebaselocatio
at0x20000000NVIC_SetVectorTableNVIC_VectTab_RAM0x02、设置中断优先级:NVIC_PriorityGroupCo
figNVIC_PriorityGroup_0设置中断优先级3、初始化外部中断:允许EXTI4中断
fNVIC_I
itStructureNVIC_IRQCha
elEXTI4_IRQCha
el中断通道NVIC_I
itStructureNVIC_IRQCha
elPreemptio
PriorityPreemptio
PriorityValue强占优先级NVIC_I
itStructureNVIC_IRQCha
elSubPriority0次优先级NVIC_I
itStructureNVIC_IRQCha
elCmdENABLE通道中断使能NVIC_I
itNVIC_I
itStructure初始化中断
注意:如果我们配置的外部针脚为PA4,或PB4,或PC4,PD4等,那么采用的外部中断也必须是EXTI4,同样,如果外部中断针脚是PA1,PB1,PC1,PD1那么中断就要用EXTI1,其他类推。2配置GPIO针脚作为外部中断的触发事件1、选择IO针脚GPIO_I
itStructureGPIO_Pi
GPIO_Pi
_4注意,如果的针脚是端口的4号针脚,配置的中断一定是EXTI42、配置针脚为输入GPIO_I
itStructureGPIO_ModeGPIO_Mode_IN_FLOATING3、初始化针脚GPIO_I
itGPIODGPIO_I
itStructure
3配置EXTI线,使中断线和IO针脚线连接上1、将EXTI线连接到IO端口上将EXTI线4连接到端口GPIOD的第4个针脚上GPIO_EXTILi
eCo
figGPIO_PortSourceGPIODGPIO_Pi
Source4注意:如果配置的针脚是4号,那么参数必须是GPIO_Pi
Source4如果配置的针脚是3号,那么参数必须是GPIO_Pi
Source3
f2、配置中断边沿配置EXTI线0上出现下降沿,则产生中断EXTI_I
itStructureEXTI_Li
eEXTI_Li
e4注意:如果配置的4号针脚,那么EXTI_Li
e4是必须的EXTI_I
itStructureEXTI_ModeEXTI_Mode_I
terruptEXTI_I
itStructureEXTI_TriggerEXTI_Trigger_Falli
g下降沿触发EXTI_I
itStructureEXTI_Li
eCmdENABLEEXTI_I
itEXTI_I
itStructureEXTI_Ge
erateSWI
terruptEXTI_Li
e4到此中断配置完成,可以写中断处理函数。举例:配置函数函数名描述输入输出返回值NVIC_Co
figratio
配置各个中断寄存器无无无中断线使能初始化中断EXTI_Li
e4中断允许
voidNVIC_Co
figratio
voidNVIC_I
itTypeDefNVIC_I
itStructure
fifdefVECT_TAB_RAMSettheVectorTablebaselocatio
at0x20000000NVIC_SetVectorTableNVIC_VectTab_RAM0x0elseVECT_TAB_Fr