您的位置 首页 设计

STM32 GPIO运用过程 ST3.0.0库

初始化一个普通IO的步骤1:GPIO_InitTypeDefGPIO_InitStructure定义一个结构体,用于初始化IO2:使能IO时钟,STM32的IO都是高速IO。分…

初始化一个一般IO的过程

1:GPIO_InitTypeDef GPIO_InitStructure界说一个结构体,用于初始化IO

2:使能IO时钟,STM32 的IO都是高速IO。

分为两种状况

第一种是IO为高速时钟:

void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)

第二种是IO为低速时钟

void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState)

3:GPIO_InitStructure选定详细IO端口,用户要运用哪个IO,是PC3仍是PC4

4:GPIO_InitStructure设置IO的作业形式,输出输入仍是?,一共有8中IO的作业形式,一般IO设置为推挽输出

5:GPIO_InitStructure设置IO的作业速率,2M仍是50MHZ,这个只对输出形式有效果,假如IO设置为输入就没有效果了。

6:GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 调用函数初始化上面设置好的信息写入到IO外设中。

7:上面6步初始化好IO了,接下来就要设置IO为高电平仍是低电平了。

IO设置为高电平函数为:

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

IO设置为低电平函数为:

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

=====================================================================================================

实例:

GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE); //使能高速外设IO

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);

GPIO_SetBits(GPIOC, GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5);

PC3 PC4 PC5都设为输出高电平

以上来自野火M3

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/sheji/252263.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部