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

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

3天内不再提示

stm32中的io函数 STM32中的IO操作

如意 来源:CSDN 作者:CSDN 2021-07-22 15:29 次阅读

stm32中的io函数 STM32中的IO操作

STM32系列单片机芯片的库函数有很多种,而负责IO操作的库函数是GPIO,GPIO函数在STM32单片机头文件stm32f10x_gpio.h中声明,在STM32单片机的主函数stm32f10x_gpio.c中完成定义。

GPIO的配置种类有8个,分别是:

1.GPIO_Mode_AIN 模拟输入

2.GPIO_Mode_IN_FLOATING 浮空输入

3.GPIO_Mode_IPD 下拉输入

4.GPIO_Mode_IPU 上拉输入

5.GPIO_Mode_Out_OD 开漏输出

6.GPIO_Mode_Out_PP 推挽输出

7.GPIO_Mode_AF_OD 复用开漏输出

8.GPIO_Mode_AF_PP 复用推挽输出

基于库函数的STM32单片机的IO口操作步骤:

1.使能IO口时钟

函数接口:void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);

参数列表:RCC_APB2Periph:连接在APB2总线上的外设名称

NewState:ENANLE或者DISABLE

2、初始化IO口

函数接口:void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct);

参数列表:GPIOx:IO口的组别,如GPIOA、GPIOB;

GPIO_InitStruct :GPIO初始化结构体

3、调用IO口控制函数对IO口电平进行控制:

函数接口

void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin);

void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal);

void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal);

以上是STM32单片机的IO函数,希望对用户有所帮助。

本文整合自CSDN

责编AJX

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

    关注

    2270

    文章

    10890

    浏览量

    355630
收藏 人收藏

    评论

    相关推荐

    HAL库在STM32开发的重要性

    开发过程 HAL库提供了一套完整的函数接口,用于操作STM32微控制器的各种外设和功能模块。这些函数接口封装了底层硬件的复杂性,使得开发者无需深入了解硬件细节即可实现功能。因此,HAL
    的头像 发表于 12-02 13:35 247次阅读

    λ-IO:存储计算下的IO栈设计

    动机和背景    存储计算存储资源的充分利用。IO栈是管理存储器的的基本组件,包括设备驱动、块接口层、文件系统,目前一些用户空间IO库(如SPDK)有效降低了延迟,但是io栈仍然不可或缺。这是因为1
    的头像 发表于 12-02 10:35 177次阅读
    λ-<b class='flag-5'>IO</b>:存储计算下的<b class='flag-5'>IO</b>栈设计

    一文解读Linux 5种IO模型

    见的IO模型。 当发起一个IO操作时,比如读取数据,系统会调用read()函数。如果请求的数据没有准备好,此时进程会被挂起(blocked),进入等待状态。直到数据准备好,而且复制到应
    的头像 发表于 11-09 11:12 298次阅读
    一文解读Linux 5种<b class='flag-5'>IO</b>模型

    本地IO与远程IO:揭秘工业自动化的两大关键角色

    在工业自动化领域,IO(Input/Output,输入/输出)模块扮演着至关重要的角色。它们作为连接控制系统与现场设备的桥梁,负责数据的采集与指令的执行。然而,随着技术的不断进步,IO模块也分为本地IO和远程
    的头像 发表于 10-08 18:06 364次阅读

    初识IO-Link及IO-Link设备软件协议栈

    亚信IO-Link设备软件协议栈是基于亚信电子AXM-IOLS IO-Link设备评估板设计的,搭载意法半导体 STM32F469AI微控制器,并在STM32CubeIDE开发环境中
    的头像 发表于 07-08 13:55 2402次阅读
    初识<b class='flag-5'>IO</b>-Link及<b class='flag-5'>IO</b>-Link设备软件协议栈

    远程IO与分布式IO的区别

    在工业自动化和控制系统设计,远程IO(Input/Output)和分布式IO是两个重要的概念。它们各自具有独特的特点和优势,适用于不同的应用场景。本文将详细探讨远程IO与分布式
    的头像 发表于 06-15 15:57 2467次阅读

    请问esp32s3对gpio端口进行输入输出操作时,有类似stm32的寄存器操作函数吗?

    请问esp32s3对gpio端口进行输入输出操作时,有类似stm32的寄存器操作函数吗?即一次控制多个IO口,而不是像gpio_set_le
    发表于 06-07 07:03

    STM32CubeIde生成的工程,使用printf函数没有调用_write和__io_putchar函数,为什么?

    _putchar(int ch) 函数,发现没有串口没有输出,使用SWD进行debug,并对syscalls.c的_write函数以及重写的io_putchar
    发表于 05-24 06:13

    请问stm8s IO操作如何实现?

    请教各位了,stm8s IO操作如何实现像stm32类似的位带操作啊? #define LEDPAout(0), LED = 1; LED = 0; 单独
    发表于 05-09 07:10

    STM32扩展IO口如何做?

    STM32扩展IO口,如何做
    发表于 04-16 08:27

    STM32级联2个PCA9539,如何对每个IO口进行操作呢?

    STM32级联2个PCA9539,怎么对每个IO口进行操作呢?
    发表于 04-08 06:48

    STM32IO口能不能像51的IO口那样直接控制Px口输出?

    大家好,STM32IO口能不能像51的IO口那样直接控制Px口输出?比如我要用51控制器段数码管,只要给Px口送十六进制数值就可以了?请问STM32可以吗?
    发表于 04-07 07:59

    stm32 JTAG和普通IO复用,当软件设置为普通IO时,还能用JTAG下载软件吗?

    stm32 JTAG和普通IO复用,当软件设置为普通IO时,还能用JTAG下载软件吗。
    发表于 04-07 07:52

    STM32开发的位运算以及位带操作

    STM32开发的位运算以及位带操作  位运算是计算机中常用的一种操作方式,特别适用于对数据的单个或多个位进行操作。在
    的头像 发表于 02-02 14:38 1601次阅读

    stm32怎么读取io口输入电平

    要读取STM32IO口输入电平,你可以使用GPIO外设来完成。GPIO是通用输入输出端口,它可以配置成输入模式,用于读取外部信号的电平。 首先,你需要定义一个GPIO_InitTypeDef类型
    的头像 发表于 01-05 11:46 4833次阅读