STM32F10X的GPIO模块

本文详细介绍了STM32F10X的GPIO模块,包括GPIO的输入输出控制、端口配置以及GPIO的多个寄存器功能。同时,列举并解析了GPIO的库函数,如GPIO_Init()、GPIO_SetBits()等,帮助理解STM32F10X的GPIO操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于GPIO模块的库函数

一、GPIO概述

拿到任意一款单片机,不管简单还是复杂的,最多的端口永远是GPIO端口,我认为这才是单片机的灵魂(不喜勿喷哈哈!),有了GPIO端口,STRM32的GPIO(通用输入输出端口)的学习我认为还是先从中文参考手册学起比较好,不废话直接上才艺---中文参考手册截图GPIO基本结构。

在上边的截图里可以看出,每个GPIO端口都包含了输入和输出两条线。

1、输入控制(上)

当端口为输入时,可配置为上拉、下拉、浮空、模拟输入形式,当端口正常工作后每一个机器周期,端口的状态都会被接入到输入数据寄存器中,方便我们获取到端口当前的数值

2、输出控制(下)

当配置为输出时,通过配置位设置/清除寄存器来间接配置输出数据寄存器进而控制IO端口输出我们期待的数据,此时端口的配置模式可以时推挽输出、开漏输出、复用推挽输出、复用开漏输出;

3、端口配置

此截图出可以看出,配置端口输出不仅需要把对应的位配置好,还应配置好输出模式下的输出速度。

此外,GPIO不仅是对端口的输出高低电平功能,这个只是GPIO的基本功能,还有ADC 、DAC、 定时器 、 USART、 SPI  、I2C CAN   、USB 功能,所以具体的功能还要仔细学习。

二、GPIO寄存器

STM32F103GPIO端口有七个寄存器分别是:

1、GPIO_CRL(端口配置低寄存器)

此寄存器是配置某一组端口(如GPIOA)的低8位寄存器,每一个端口配置对应的是4位

CNF0[1:0] :端口的输入输出模式选择  

输出模式时:00 :通用推挽输出模式 01:通用开漏输出模式
                     10 :复用功能推挽输出模式 11:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值