历史上的今天

今天是:2024年09月06日(星期五)

正在发生

2018年09月06日 | STM32学习记录之GPIO篇

发布者:EtherealMelody 来源: eefocus关键字:STM32  GPIO 手机看文章 扫描二维码
随时随地手机看文章

本篇学习目的: 
一、学会对STM32芯片GPIO的基本操作 
二、对GPIO的相关函数进行二次封装,以便于后期开发

开发板GPIO原理图如下 
这里写图片描述

由图可知LED接在GPIOC的PC0-PC7

STM的GPIO有如下8中模式 
这里写图片描述

GPIO相关库函数 
GPIO模式配置函数:GPIO_Init(GPIO_TypeDef *GPIOx,GPIO_InitTypeDef *GPIO_InitStruct); 
第一个参数用来指定GPIO口,取值范围GPIOA—GPIOG 
第二个参数用来初始化参数结构体指针,参数结构体定义如下:

typedef struct{

    uint16_t GPIO_Pin; //选择要设置的Pin口

    GPIOSpeed_TypeDef GPIO_Speed;//设置IO的速率

    GPIOMode_TypeDef GPIO_Mode;//设置IO的工作模式

}GPIO_InitTypeDef;


GPIO实验例程:


#define LED  GPIO_Pin_All

void Led_Init(){

    GPIO_InitTypeDef GPIO_InitStruct;   //声明一个参数结构体变量


    SystemInit();//初始化系统时钟

    RCC_APB2PerichClockCmd(RCC_APB2Perich_GPIOC,ENABLE);


    //具体参数配置

    GPIO_InitStruct.GPIO_Pin = LED;

    GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;

    GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP;

    //初始化GPIO

    GPIO_Init(GPIOC,&GPIO_InitStruct);

}


GPIO输出函数 

GPIO_Write(GPIO_TypeDef* GPIOx,u16 PortVal); 

该函数一次操作一组GPIO。


GPIO_SetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin); 

该函数将相应的位置为1


GPIO_ResetBits(GPIO_TypeDef* GPIOx, u16 GPIO_Pin); 

该函数将相应的位置为0


实验例程:


void Led_DisPlay(){

    GPIO_SetBits(GPIOC,LED); // close

    delay(6000000);//自定义延迟函数,约1s

    GPIO_ResetBits(GPIOC,LED);// open

    delay(6000000);

}


关键字:STM32  GPIO 引用地址:STM32学习记录之GPIO篇

上一篇:STM32之GPIO按键实验
下一篇:使用stm32f103 PA11不能正常使用IO问题

推荐阅读

随着科技的快速发展,人工智能逐渐渗透到了生活中的各个方面,与工业制造业相结合就是智能制造,与机器人相结合就是智能机器人,与汽车相结了,与语音交互相结合是智能通话。 在刚刚举办的中国(上海)国际人工智能展会中,硅基智能公司展出了其的智能通话产品——全自动电话机器人。 硅基智能公司成立于2017年,是一家专注于智能语音和等交互技术的研...
近日,富士康工业互联网股份有限公司董事会于近日收到董事李杰申请,因工作调整原因辞去在公司担任的副董事长、董事、第一届董事会战略决策委员会及提名委员会的相关职务。同时,根据公司实际情况及未来发展需要,公司董事会拟补选周泰裕博士为董事候选人。 据了解,鸿海规划,将让李杰担任美国威斯康星州建厂的总负责人。鸿海副董事长李杰 消息人士透露,...
报道指出,一位诺基亚零售商向其透露了诺基亚 9.3 PureView 的部分信息,但迫于保密协议,NokiaPowerUser 无法放出这些内容。  IT之家了解到,HMD 计划在今年第 4 季度举办一次诺基亚大型发布会,届时诺基亚 9.3 PureView 有望正式亮相。  除此之外,NokiaPowerUser 还提到,诺基亚 9.3 PureView 预计将采用一块 6.29 英寸的...
广告摘要声明广告【文/罗艳】受新冠肺炎疫情、美国对中国贸易政策、原材料上涨、芯片危机等影响,今年PCB行业氛围稍显沉重。在此背景下,2021高工机器人PCB行业巡回调研活动已于9月3日正式启动,9月4日,高工机器人携手阿童木机器人、越疆科技、艾利特机器人、极智嘉、仙工智能、埃斯顿组成的巡回调研团队走进深圳市佳万通达电路有限公司(以下简称“佳万...

史海拾趣

问答坊 | AI 解惑

avr的速度怎么算出来的

最近,看各家单片机的特点对比,发现有avr的宣传资料上说: "系统晶振8MHZ的AVR,相当于系统晶振224MHZ的MCS51" 感觉不大可信,不知怎么算出来的,还是测出来的? 高人请指点? …

查看全部问答∨

小车转向问题

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 我在设计简易智能小车时遇到这样一个问题,想通过计算小车让小车转一个固定的角度,但没想到好办法; 有没有哪位大虾写过这样的程序的,帮帮忙,请教一下,不胜感激啊!!  …

查看全部问答∨

深入理解低功耗无线传感器网络标准

  蓝牙、Wi-Fi和ZigBee在无线通信领域都有一席之地。但基于不同原因,上述几种技术都不太适合无线传感器网络应用。用于传感和控制应用的无线产品和技术正迅速变为现实。无线技术的大规模普及只是时间早晚的问题,但标准化组织和技术供应商在解决 ...…

查看全部问答∨

5分钟学会使用CPLD.doc

5分钟学会使用CPLD.doc…

查看全部问答∨

Wince系统应用程序下拉列表框

请问在WINCE中,怎么用WIN API弄个下拉列表框 求代码:…

查看全部问答∨

开发板启动后就一直停在触摸屏校准程序

我使用的是蓝海微芯的板子,LJD-2410-II开发板,bsp是重新烧入的,启动后就一直停在触摸屏校准程序,点十字光标一点反应都没有。请问是怎么回事?大家有遇到这种情况吗?是不是触摸屏坏了,照理说触摸屏没这样脆弱吧,…

查看全部问答∨

windows CE中20ms内被动接收数据

我现在做的是一个windows CE下传感器的项目,其中有一个过程,是给传感器发一个读指令(16进制),然后传感器会自动返回一组数据(16进制);传感器的数据刷新是50次每秒,所以在20ms内必须主动接受数据并进行处理。这里的主动是细节上的,文章题目 ...…

查看全部问答∨

EVC位图旋转

谁做过位图旋转啊?我的怎么老不实现啊?也不知道代码哪里有问题。 谁有方法啊?源代码更好啊。 我已经知道bmp图片旋转应该问题不大啊?         CClientDC  hDC(this);           ...…

查看全部问答∨

加速度传感器MMA7260的proteus仿真

想用加速度传感器MMA7260做一个跌倒的检测装置,proteus元件库中找不到MMA7260元件,哪位高手帮忙解决一下,小弟谢过~~~我的QQ:501292878~~…

查看全部问答∨

为什么频率越高 功耗越大?

瞬时功耗 p = v *I tav; V越小 P也小 所以低功耗处理器采用低压方式 ,I tav为单位时间的平均电流,与上升时间 和下降时间 重复频率有关 所以频率 越高功耗越大 ; 动态功耗=瞬时功耗+ 电容冲放电消耗的功耗 ;充放电功耗也与重复频率有关 所以 ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved