资源描述:
《STM32模块初始化模版和函数寄存器汇总.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、STM32学习笔记GPIO口GPIO初始化voidGPIO_Configuration(void){GPIO_InitTypeDefGPIO_InitStructure;//声明结构体RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//打开功能时钟(再写这句程序的时候,必须进行时钟系统初始化的操作)。GPIO_InitStructure.GPIO_Pin=GPIO_Pin_4
2、GPIO_Pin_5
3、GPIO_Pin_6
4、GPIO_Pin_7;//指明操作对象引脚GPIO_I
5、nitStructure.GPIO_Speed=GPIO_Speed_50MHz;//设置IO口时钟为50MHz/10MHz/2MHzGPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;//设置推挽输出/*GPIO_Mode_AIN模拟输入GPIO_Mode_IN_FLOATING浮空输入(一般为中断所使用)。GPIO_Mode_IPD下拉输入GPIO_Mode_IPU上拉输入GPIO_Mode_Out_OD开漏输出GPIO_Mode_Out_PP推挽输出GPIO_Mode_AF_OD复用
6、开漏输出GPIO_Mode_AF_PP复用推挽输出*/(一般用在点灯)。GPIO_Init(GPIOA,&GPIO_InitStructure);//执行初始化IO口}GPIO常用函数GPIO_SetBits(GPIOA,GPIO_Pin_4
7、GPIO_Pin_5
8、GPIO_Pin_6
9、GPIO_Pin_7);//置高IO口GPIO_ResetBits(GPIOA,GPIO_Pin_4
10、GPIO_Pin_5
11、GPIO_Pin_6
12、GPIO_Pin_7);//置低IO口GPIO_WriteBit(GPIOA,GPIO_Pin_4,
13、(BitAction)(1-GPIO_ReadOutputDataBit(GPIOA,GPIO_Pin_4)));//翻转IO口GPIOA->ODR=0X0010;//IO口直接赋值语句GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3)(读取该口的电压值,相当于AVR的pin)。若IO口为高电平,则这个函数返回为1,为低电平时返回为0.SysTick系统时钟SysTick配置函数if(SysTick_Config(SystemCoreClock/3000))//配置时钟的频率,改变数字可改变频率,数字
14、越大频率越快{/*Captureerror*/while(1);}EXTI中断外部中断外部中断IO口设置voidGPIO_EXTI_Configuration(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC
15、RCC_APB2Periph_GPIOD,ENABLE);//使能时钟RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//使能复用IO时钟GPIO_InitTypeDefGPIO_InitStructure;//声明IO
16、口初始化结构体GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6;//指定PD.06为操作对象GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;//设置模式为浮空输入GPIO_Init(GPIOC,&GPIO_InitStructure);//初始化IO口GPIO_InitStructure.GPIO_Pin=GPIO_Pin_13
17、GPIO_Pin_14;//指定PD.13,14为操作对象GPIO_InitStructure.GPIO_Mode=GP
18、IO_Mode_IN_FLOATING;//设置模式为浮空输入GPIO_Init(GPIOD,&GPIO_InitStructure);//初始化IO口GPIO_EXTILineConfig(GPIO_PortSourceGPIOC,GPIO_PinSource6);//将PC.06映射到外部中断GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPIO_PinSource13);//将PD.13映射到外部中断GPIO_EXTILineConfig(GPIO_PortSourceGPIOD,GPI
19、O_PinSource14);//将PD.14映射到外部中断}外部中断初始化voidEXTI_Configuration(void){EXTI_InitTypeDefEXTI_InitStructure;//声明外部中断初始化结构体EXTI_InitStruct