0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何从单片机平台编写GPIO口程序

麦辣鸡腿堡 来源:嵌入式Linux系统开发 作者:嵌入式Linux系统开 2023-09-28 15:56 次阅读

单片机平台编写 GPIO 口程序,以 STM32F103 为例,有三种模式:库函数、HAL库、寄存器

使用库函数的方式操控 GPIO 方式如下:

void LED_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;

    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能 PB 端口时钟

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
    //PB5 端口配置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度
    GPIO_Init(GPIOB, &GPIO_InitStructure); //根据设定参数初始化 GPIOB.5
    GPIO_SetBits(GPIOB,GPIO_Pin_5); //PB.5 输出高
}

上述代码就是使用库函数来初始化 STM32 的一个 IO 为输出功能,可以看出上述初始化代码中重点要做的事情有一下几个:

①、使能指定 GPIO 的时钟。

②、初始化 GPIO,比如输出功能、上拉、速度等等。

③、STM32 有的 IO 可以作为其它外设引脚,也就是 IO 复用,如果要将 IO 作为其它外设引脚使用的话就需要设置 IO 的复用功能。

④、最后设置 GPIO 输出高电平或者低电平。

STM32 的 GPIO 初始化就是以上四步,使用库函数操作 GPIO 还是很简单的。但是我们知道 STM32F1 系列是有库函数的,但是 STM32F7 系列就没有库函数了,ST 公司没有出,STM32F7 只有 HAL 库和寄存器两种操作方式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6036

    文章

    44557

    浏览量

    635096
  • STM32
    +关注

    关注

    2270

    文章

    10900

    浏览量

    355908
  • 函数
    +关注

    关注

    3

    文章

    4331

    浏览量

    62593
  • GPIO
    +关注

    关注

    16

    文章

    1204

    浏览量

    52086
收藏 人收藏

    评论

    相关推荐

    单片机教程二十一:单片机串行通信程序设计

    单片机教程二十一:单片机串行通信程序设计 1.串行方式0应用编程 8051单片机串行
    发表于 05-15 23:17 1003次阅读

    实现IO流水灯源代码的LPC2378 GPIO程序

    LPC2378单片机GPIO程序,实现IO流水灯源代码
    发表于 09-01 11:37 34次下载

    单片机串行通信程序设计

    单片机串行通信程序设计
    发表于 09-04 10:13 10次下载
    <b class='flag-5'>单片机</b>串行<b class='flag-5'>口</b>通信<b class='flag-5'>程序</b>设计

    STM32单片机学习基础手记(2):勉强看懂一行程序到IO研究

    STM32单片机学习基础手记(2):勉强看懂一行程序到IO研究
    发表于 10-12 14:29 22次下载
    STM32<b class='flag-5'>单片机</b>学习基础手记(2):<b class='flag-5'>从</b>勉强看懂一行<b class='flag-5'>程序</b>到IO<b class='flag-5'>口</b>研究

    使用单片机编写的音乐程序

    本文档的主要内容详细介绍的是使用单片机编写的音乐程序
    的头像 发表于 01-21 12:18 5974次阅读
    使用<b class='flag-5'>单片机</b><b class='flag-5'>编写</b>的音乐<b class='flag-5'>程序</b>

    单片机程序如何编写

    设计编写单片机程序是一个渐进的过程不可一蹴而就,毕竟单片机程序是与硬件有密切关系的,我们一般称为单片机
    的头像 发表于 02-12 14:38 3.8w次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>程序</b>如何<b class='flag-5'>编写</b>

    STC15单片机GPIO驱动LED资料合集

    本文档的主要内容详细介绍的是STC15单片机GPIO驱动LED资料合集包括了 :HEX文件,寄存器版程序和工程文件,库函数版程序和工程文
    发表于 10-10 08:00 16次下载
    STC15<b class='flag-5'>单片机</b>的<b class='flag-5'>GPIO</b><b class='flag-5'>口</b>驱动LED资料合集

    【51/STM32】详解单片机GPIO输入输出的各种模式

    通用型输入输出端口,简称GPIO,是单片机与其他外围设备和威廉希尔官方网站 进行信息交换和控制的桥梁。本文复习模电中所学的场效应管开始,逐步引出开漏输出与推挽输出的概念及阐述其原理,并结合点亮一
    发表于 11-19 09:21 105次下载
    【51/STM32】详解<b class='flag-5'>单片机</b><b class='flag-5'>GPIO</b><b class='flag-5'>口</b>输入输出的各种模式

    基于51单片机的呼吸灯程序编写

    利用51单片机编写的呼吸灯小程序,实验程序内容截图分享~
    发表于 11-23 16:36 33次下载
    基于51<b class='flag-5'>单片机</b>的呼吸灯<b class='flag-5'>程序</b><b class='flag-5'>编写</b>

    stm32单片机基于hal库对对GPIO的操作

    32单片机GPIO的操作和51单片机对io的操作是一样的,常用的有三个,输出,io至高至低,输入,检查测io
    发表于 11-26 20:06 1次下载
    stm32<b class='flag-5'>单片机</b>基于hal库对对<b class='flag-5'>GPIO</b>的操作

    STM32单片机GPIO简介

    本篇主要介绍STM32单片机GPIO基本概念和GPIO 寄存器的使用参考资料【51/STM32】详解单片机
    发表于 12-28 19:23 23次下载
    STM32<b class='flag-5'>单片机</b><b class='flag-5'>GPIO</b><b class='flag-5'>口</b>简介

    如何提高单片机GPIO驱动能力

    单片机是控制器件而不是驱动器件,因为输出电流很小,不足以驱动某些需要大电流的外设。 单片机GPIO驱动能力有限,不能直接驱动较大功率的负载。
    的头像 发表于 03-24 15:36 9511次阅读
    如何提高<b class='flag-5'>单片机</b>的<b class='flag-5'>GPIO</b><b class='flag-5'>口</b>驱动能力

    51单片机GPIO结构框图与工作原理

    不论学习什么单片机,最简单的外设莫过于IO 的高低电平控制,本教程将向大家介绍如何在创建好的工程模板上通过操作51 单片机GPIO
    发表于 07-15 15:29 6856次阅读
    51<b class='flag-5'>单片机</b><b class='flag-5'>GPIO</b>结构框图与工作原理

    基于OpenHarmony编写GPIO平台驱动和应用程序

    程序是基于OpenHarmony标准系统编写的基础外设类:GPIO驱动。
    的头像 发表于 09-12 10:04 897次阅读
    基于OpenHarmony<b class='flag-5'>编写</b><b class='flag-5'>GPIO</b><b class='flag-5'>平台</b>驱动和应用<b class='flag-5'>程序</b>

    Linux平台来研究GPIO软件框架

    方法,让它可以像单片机一样简单的操作 IO ,这得益于各路 Linux 大神对系统底层的封装。 在 Linux 中有 pinctrl 和 gpio 子系统,它们提供了 API 接口给你使用,让你方便
    的头像 发表于 09-28 16:05 632次阅读
    <b class='flag-5'>从</b>Linux<b class='flag-5'>平台</b>来研究<b class='flag-5'>GPIO</b>软件框架