STM32 EXTI 外部中断寄存器学习笔记

EXTI 外部中断寄存器                                                 
                                     
                                               
EXTI_IMR 中断屏蔽寄存器                                      
  1:开放来自线x上的中断请求 保留 MR19 MR18 MR17 MR16    
  0:屏蔽来自线x上的中断请求 MR15 MR14 MR13 MR12 MR11 MR10 MR9 MR8 MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0    
                                               
                                               
EXTI_EMR 事件屏蔽寄存器                                      
  1:开放来自线x上的事件请求 保留 MR19 MR18 MR17 MR16    
  0:屏蔽来自线x上的事件请求 MR15 MR14 MR13 MR12 MR11 MR10 MR9 MR8 MR7 MR6 MR5 MR4 MR3 MR2 MR1 MR0    
                                               
                                               
EXTI_RTSR 上升沿触发选择寄存器                                      
  1:允许输入线x上的上升沿触发(中断和事件) 保留 TR19 TR18 TR17 TR16
  0:禁止输入线x上的上升沿触发(中断和事件) TR15 TR14 TR13 TR12 TR11 TR10 TR9 TR8 TR7 TR6 TR5 TR4 TR3 TR2 TR1 TR0
                                               
                                               
EXTI_FTSR 下降沿触发选择寄存器                                      
  1:允许输入线x上的下降沿触发(中断和事件) 保留 TR19 TR18 TR17 TR16
  0:禁止输入线x上的下降沿触发(中断和事件) TR15 TR14 TR13 TR12 TR11 TR10 TR9 TR8 TR7 TR6 TR5 TR4 TR3 TR2 TR1 TR0
                                                        
                                               
EXTI_SWIER 软件中断事件寄存器                                                    
  0>1:将设置EXTI_PR中相应的挂起位;如果在EXTI_IMR                                
  EXTI_EMR中允许产生该中断,则此时将产生一个中断。 保留 SWIER19 SWIER18 SWIER17 SWIER16
  通过清除EXTI_PR的对应位(写入’1’),可以清除该位为0。 SWIER15 SWIER14 SWIER13 SWIER12 SWIER11 SWIER10 SWIER9 SWIER8 SWIER7 SWIER6 SWIER5 SWIER4 SWIER3 SWIER2 SWIER1 SWIER0
                                               
                                               
EXTI_PR 挂起寄存器(rc w1 中断标志清除)                                      
  0:没有发生触发请求                                    
  1:发生了选择的触发请求                                    
  当在外部中断线上发生了选择的边沿事件,                                  
  该位被置’1’。在该位中写入’1’可以清除它,   保留 PR19 PR18 PR17 PR16
  也可以通过改变边沿检测的极性清除   PR15 PR14 PR13 PR12 PR11 PR10 PR9 PR8 PR7 PR6 PR5 PR4 PR3 PR2 PR1 PR0
                                               
                                                                       
基本配置方式                                              
1 使能io复用时钟 RCC->APB2ENR|=0x01;                          
2 端口映射 AFIO->EXTICR[EXTADDR]|=GPIOx<                    
3 开启中断 EXTI->IMR|=1<                          
4 屏蔽line BITx上的事件(默认屏蔽)    //EXTI->EMR|=1<                          
5 选择触发方式:上升沿/下降沿/任意电平(不做设置) EXTI->RTSR|=1<FTSR|=1<                    
                                               
端口映射寄存器 AFIO->EXTICR[1]             对应IO口:0、1、2、3 0000: PA[x]引脚 0100: PE[x]引脚                    
  AFIO->EXTICR[2] 对应IO口:4、5、6、7 0001: PB[x]引脚 0101: PF[x]引脚                    
  AFIO->EXTICR[3] 对应IO口:8、9、10、11 0010: PC[x]引脚 0110: PG[x]引脚                    
  AFIO->EXTICR[4] 对应IO口:12、13、14、15 0011: PD[x]引脚                      

你可能感兴趣的:(笔记)