野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 16234|回复: 5

STM32库函数GPIO_Init()到底是怎么用的??

[复制链接]
发表于 2015-7-5 09:17:54 | 显示全部楼层 |阅读模式
                GPIO_InitTypeDef GPIO_InitStructure;
                RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE);  //开启GPIOB外设时钟
                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;                                       //选择PB6引脚
                GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                    //设置为推挽输出
                GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;                   //引脚速率50MHZ
                GPIO_Init(GPIOB, &GPIO_InitStructure);                                              //初始化GPIOB
问题:最后一个函数,是指将前面几个函数对PB6引脚的设置写入寄存器吗?还是将PB0--PB15的设置都写进去?初始化后PB6是高电平还是低?
           除了PB6之外,没操作过其余15个引脚,它们应该是默认值吧?
回复

使用道具 举报

发表于 2015-7-5 14:20:46 | 显示全部楼层
将前面3条结构体语句改变的值写到GPIOB寄存器中去,只是基本的配置寄存器而已,真正对GPIO操作的高低电平还没开始,我也是初学者,云里雾里的,C基础太差,读个源代码都耗太久的时间还不一定能看懂。提个问没人回答的话,还是自己琢磨较好。
回复 支持 反对

使用道具 举报

发表于 2015-7-5 14:57:11 | 显示全部楼层
二楼分析的很对,基本就是这样
回复 支持 反对

使用道具 举报

发表于 2015-7-5 16:40:06 | 显示全部楼层
IO在复位时,输入和输出寄存器都会清0,所以在程序里有必要先定义下IO的输出高低电平(作为输出时)
ssss.PNG
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-6 09:07:29 | 显示全部楼层
谢谢!!!!!!!!!
回复

使用道具 举报

发表于 2015-7-8 20:51:45 | 显示全部楼层
初始化后,GPIOB_PIN_6为低电平,我也是在摸索中
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-10-6 12:21 , Processed in 0.040310 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表