STM32学习之:GPIO最简单操作步骤
2017-12-19 16:44
766 查看
需用到的".c"库函数为 stm32f10x_gpio.c 和stm32f10x_rcc.c
1. 启动相应Port x的RCC(复位始终控制)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE);
x可以是A到G , GPIO都由APB2(高速外设)时钟控制
2. GPIO初始结构中的三个参数赋值(该结构名需程序前定义:"GPIO_InitTypeDef GPIO_InitStructure;")
三个参数分别为
引脚:GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
速度:GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
模式:GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
三个参数的取值可查《固件函数库》
3. 用GPIO初始化函数 GPIO_Init(GPIOx,&GPIO_InitStructure) ,将前面赋完值的结构定义到Port x上
x可以是A到G;
4. 接着即可用GPIO_ResetBits(GPIOx,GPIO_Pin_y) 函数将引脚置0
或 用GPIO_SetBits(GPIOx,GPIO_Pin_y) 函数将引脚置1
x可以是:A到F;
y可以是:0到15;多个可用" | "隔开,如:GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
5. 也可以用GPIO_ReadInputDataBit(GPIOx,GPIO_Pin_y)函数读取输入引脚的值
或 用GPIO_ReadOutputDataBit(GPIOx,GPIO_Pin_y)函数读取输出引脚的值
x可以是:A到F;
y可以是:0到15;多个可用" | "隔开,如:GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
注:a)读取整个Port 值的函数为GPIO_ReadInputData(GPIOx)和GPIO_ReadOutputData(GPIOx)
b)写整个Port 值的函数为GPIO_Write(GPIOx,数值)
c)一般按前3步启动后,被设定的GPIO引脚都会被置0(低电平)
1. 启动相应Port x的RCC(复位始终控制)
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE);
x可以是A到G , GPIO都由APB2(高速外设)时钟控制
2. GPIO初始结构中的三个参数赋值(该结构名需程序前定义:"GPIO_InitTypeDef GPIO_InitStructure;")
三个参数分别为
引脚:GPIO_InitStructure.GPIO_Pin=GPIO_Pin_6|GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9|GPIO_Pin_10;
速度:GPIO_InitStructure.GPIO_Speed=GPIO_Speed_2MHz;
模式:GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
三个参数的取值可查《固件函数库》
3. 用GPIO初始化函数 GPIO_Init(GPIOx,&GPIO_InitStructure) ,将前面赋完值的结构定义到Port x上
x可以是A到G;
4. 接着即可用GPIO_ResetBits(GPIOx,GPIO_Pin_y) 函数将引脚置0
或 用GPIO_SetBits(GPIOx,GPIO_Pin_y) 函数将引脚置1
x可以是:A到F;
y可以是:0到15;多个可用" | "隔开,如:GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
5. 也可以用GPIO_ReadInputDataBit(GPIOx,GPIO_Pin_y)函数读取输入引脚的值
或 用GPIO_ReadOutputDataBit(GPIOx,GPIO_Pin_y)函数读取输出引脚的值
x可以是:A到F;
y可以是:0到15;多个可用" | "隔开,如:GPIO_Pin_7|GPIO_Pin_8|GPIO_Pin_9
注:a)读取整个Port 值的函数为GPIO_ReadInputData(GPIOx)和GPIO_ReadOutputData(GPIOx)
b)写整个Port 值的函数为GPIO_Write(GPIOx,数值)
c)一般按前3步启动后,被设定的GPIO引脚都会被置0(低电平)
相关文章推荐
- stm32 学习---GPIO简单使用实例
- STM32 学习三 GPIO操作
- [转载]STM32学习笔记——控制GPIO输出点亮LED灯(直接操作存储器)
- STM32 GPIO 简单操作函数
- STM32学习笔记——控制GPIO输出点亮LED灯(直接操作存储器)
- STM32寄存器操作方式学习-GPIO
- OpenGL学习笔记(四):了解OpenGL、OpenGL的操作模式、特性和基本使用步骤
- SilverLight学习笔记--Silverligh之在Javascript中调用.NET(包括简单参数和复杂参数的操作)
- Akka学习笔记-简介与API简单操作
- (七)STM32的RTC简单操作
- C++ Primer 学习笔记_29_STL实践与分析(3) --操作步骤集装箱(下一个)
- MyBatis学习之简单增删改查操作、MyBatis存储过程、MyBatis分页、MyBatis一对一、MyBatis一对多
- PHP目录的简单操作学习
- PHP数据库操作之简单学习
- PHP学习 文件操作函数的应用--简单网络留言模板
- Selenium + Webdriver 学习(二) 各种浏览器简单操作
- STM32入门学习之GPIO(STM32F030F4P6基于CooCox IDE)(一)
- 学习GD库操作步骤 2012-12-11 10:50am
- STM32寄存器操作方式学习-通用定时/计数器之TIM2~7
- NHibernate学习手记(1) - 对象的简单CRUD操作