Stm32 学习笔记2

Stm32 学习笔记2

ID:42733905

大小:51.00 KB

页数:3页

时间:2019-09-21

Stm32 学习笔记2_第1页
Stm32 学习笔记2_第2页
Stm32 学习笔记2_第3页
资源描述:

《Stm32 学习笔记2》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、先简要说下这系列学习笔记的内容和学习目标。第一章时钟第二章GPIO第三章中断第四章模拟USB鼠标第五章实现U盘第六章TFFS驱动移植第七章USB设备开发总结STM32学习笔记2---GPIO1、I/O端口配置方法第1步:打开使用到的GPIOA、GPIOC、GPIOD、GPIOF或GPIOG的时钟;第2步:配置所有的按键GPIO为浮动输入模式(实际上CPUf复位后就是输入状态)2、常用的I/O配置函数和结构①GPIO_InitTypeDef结构体typedefstruct{u16GPIO_Pin;/*GPIO端口选择*/GPIOSpeed_TypeDefGPIO_S

2、peed;/*以设置选中管脚的速率*/GPIOMode_TypeDefGPIO_Mode;/*设置选中管脚的工作状态*/}GPIO_InitTypeDef;GPIO_Pin描述GPIO_Pin_None无管脚被选中GPIO_Pin_X选中管脚X,X值0--15GPIO_Pin_All选中全部管脚GPIO_Speed描述GPIO_Speed_10MHz最高输出速率10MHzGPIO_Speed_20MHz最高输出速率20MHzGPIO_Speed_50MHz最高输出速率50MHzGPIO_Mode描述GPIO_Mode_AIN模拟输入GPIO_Mode_IN_FLO

3、ATING浮空输入GPIO_Mode_IPD下拉输入GPIO_Mode_IPU上拉输入GPIO_Mode_Out_OD开漏输出GPIO_Mode_Out_PP推挽输出GPIO_Mode_AF_OD复用开漏输出GPIO_Mode_AF_PP复用推挽输出②RCC_XXXPeriphClockCmd(),XXX时钟控制命令,共三个相关函数:voidRCC_APB2PeriphClockCmd(u32RCC_APB2Periph,FunctionalStateNewState)APB2外设时钟使能;voidRCC_APB1PeriphClockCmd(u32RCC_APB

4、1Periph,FunctionalStateNewState)APB1外设时钟使能voidRCC_AHBPeriphClockCmd(u32RCC_AHBPeriph,FunctionalStateNewState)AHB时钟使能③GPIO_Init:根据GPIO_InitTypeDef结构中指定的参数初始化外设GPIOx寄存器voidGPIO_Init(GPIO_TypeDef*GPIOx,GPIO_InitTypeDef*GPIO_InitStruct)输入:GPIOx:x可以是A,B,C,D或者E,来选择GPIO外设GPIO_InitStruct设置参见G

5、PIO_InitTypeDef结构体④GPIO_SetBits:设置指定的数据端口位为1voidGPIO_SetBits(GPIO_TypeDef*GPIOx,u16GPIO_Pin)输入:GPIOx:x可以是A,B,C,D或者E,来选择GPIO外设GPIO_Pin:待设置的端口,取GPIO_Pin_x(x可以是0-15)的任意组合⑤GPIO_ResetBits:清除端口值(置0)voidGPIO_ResetBits(GPIO_TypeDef*GPIOx,u16GPIO_Pin)输入同GPIO_SetBits()1、例程注释voidgpio_config(){GP

6、IO_InitTypeDefGPIO_InitStructure;/*使用I/O资源:led->pb1,key->pa0,打开GPIOA,GPIOB和端口复用的时钟,复用时钟用于中断*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA

7、RCC_APB2Periph_GPIOB

8、RCC_APB2Periph_AFIO,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;/*设置为推挽输出*/GPI

9、O_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOB,&GPIO_InitStructure);/*初始化PB1*/GPIO_InitStructure.GPIO_Pin=GPIO_Pin_0;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;/*设置浮空输入*/GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);/*初始化PA0*/

10、GPIO_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。