Stm32 学习笔记2

上传人:壹****1 文档编号:498874078 上传时间:2022-09-01 格式:DOC 页数:3 大小:51KB
返回 下载 相关 举报
Stm32 学习笔记2_第1页
第1页 / 共3页
Stm32 学习笔记2_第2页
第2页 / 共3页
Stm32 学习笔记2_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《Stm32 学习笔记2》由会员分享,可在线阅读,更多相关《Stm32 学习笔记2(3页珍藏版)》请在金锄头文库上搜索。

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 结构体typedef struct u16 GPIO_Pin; /*GPIO端口选择*/GPIOSpeed_TypeDef GPIO_

2、Speed;/* 以设置选中管脚的速率*/ GPIOMode_TypeDef GPIO_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_FLOATING浮空输入GP

3、IO_Mode_IPD下拉输入GPIO_Mode_IPU上拉输入GPIO_Mode_Out_OD开漏输出GPIO_Mode_Out_PP推挽输出GPIO_Mode_AF_OD复用开漏输出GPIO_Mode_AF_PP复用推挽输出 RCC_XXXPeriphClockCmd(),XXX时钟控制命令,共三个相关函数:void RCC_APB2PeriphClockCmd(u32 RCC_APB2Periph, FunctionalState NewState)APB2外设时钟使能;void RCC_APB1PeriphClockCmd(u32 RCC_APB1Periph, FunctionalS

4、tate NewState)APB1外设时钟使能void RCC_AHBPeriphClockCmd(u32 RCC_AHBPeriph, FunctionalState NewState)AHB时钟使能 GPIO_Init:根据GPIO_InitTypeDef结构中指定的参数初始化外设GPIOx寄存器void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)输入:GPIOx:x可以是A,B,C,D或者E,来选择GPIO外设 GPIO_InitStruct设置参见GPIO_InitTypeDef 结构体 GPIO

5、_SetBits:设置指定的数据端口位为1void GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)输入:GPIOx:x可以是A,B,C,D或者E,来选择GPIO外设 GPIO_Pin:待设置的端口,取GPIO_Pin_x(x可以是0-15)的任意组合 GPIO_ResetBits:清除端口值(置0)void GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin)输入同GPIO_SetBits()3、 例程注释void gpio_config()GPIO_InitTypeDef GPIO_InitStru

6、cture;/*使用I/O资源:led-pb1,key-pa0,打开GPIOA,GPIOB和端口复用的时钟,复用时钟用于中断*/RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB| RCC_APB2Periph_AFIO,ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;/*设置为推挽输出*/GPIO_InitStructure.GPIO_Speed = GPIO_Spe

7、ed_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 */GPIO_SetBits(GPIOB, GPIO_Pin_1);/* 关闭LED,设置PA0=1关闭LED */return;int main(void).RCC_Configuration();/*配置RCC时钟*/gpio_config();/*配置GPIO*/for(i=0;i10;i+)GPIO_ResetBits(GPIOB, GPIO_Pin_1);/* 点亮LED,PB1 */t_delay(30);GPIO_SetBits(GPIOB, GPIO_Pin_1);/* 关闭LED ,PB1*/t_delay(30);While

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号