草庐IT

STM32的GPIO知识(F103C8T6为例)

    学习过51单片机的同学应该知道IO引脚,表示这个引脚既有输入也有输出的功能,STM32的GPIO也是如此,它的引脚同样也有输入输出的功能。接下来我们来看一下这个芯片的引脚布局。 通过引脚的名字我们可以看出以下的现象①48和47,36和35,23和24这三组引脚是供电用的,8和9是模拟供电。供电电压一般为3.3V。        这是因为STM32主打的是高性能、低功耗的特色。如果学过初中电学你应该知道一个简单的功率的公式:P=UI,P就是功率,U是电压,I是电流,那我们的电压是减少了,电流也不可能会增大非常大,那么整体的功率是比较小的。为什么要多组供电呢,STM32的多组供电对应不同的

【STM32】STM32学习笔记-GPIO输出(05)

00.目录文章目录00.目录01.GPIO简介02.GPIO基本结构03.GPIO位结构04.GPIO模式4.1输入浮空4.2输入上拉4.3输入下拉4.4模拟输入4.5开漏输出4.6开漏复用功能4.7推挽式输出4.8推挽式复用功能05.LED和蜂鸣器简介06.面包板07.附录01.GPIO简介GPIO(GeneralPurposeInputOutput)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、

【STM32】低功耗模式下GPIO、外设、时钟省电配置避坑

【STM32】低功耗模式下GPIO、外设、时钟省电配置避坑文章目录低功耗模式省电外设配置GPIO省电模式实验低功耗模式扩展附录:Cortex-M架构的SysTick系统定时器精准延时和MCU位带操作SysTick系统定时器精准延时延时函数阻塞延时非阻塞延时位带操作位带代码位带宏定义总线函数一、位带操作理论及实践二、如何判断MCU的外设是否支持位带低功耗模式【STM32笔记】低功耗模式配置及避坑汇总前文:blog.csdn.net/weixin_53403301/article/details/128216064【STM32笔记】HAL库低功耗模式配置(ADC唤醒无法使用、低功耗模式无法烧录解决

Linux下控制GPIO的三种方法

https://blog.csdn.net/qq_41076734/article/details/1246699081.应用空间控制gpio1.1简介在/sys/class/gpio/下有个export文件,向export文件写入要操作的GPIO号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction和value等,direction控制GPIO输入或者输出模式,而value可控制GPIO的状态或者读取状态。/sys/class/gpio/目录下各个文件说明:/sys/class/gpio/export文件用于通知系统需要导出控制的GPIO引脚编号;/s

STM32HAL库学习笔记(一)——GPIO

一、基础知识GPIO全名为GeneralPurposeInputOutput,即通用输入输出。有时候简称为“IO口”。通用,说明它是常见的。输入输出,就是说既能当输入口使用,又能当输出口使用。端口,就是元器件上的一个引脚。输入模式和输出模式是GPIO的基本特性,当然GPIO还有其它模式可选。IO耐压问题STM32是一款3.3V电压的芯片,IO输出是3.3V,但IO大部分都是可以容忍5V电压输入。一般在芯片手册的“引脚定义”章节可以查看到有FT标识表示该IO可以容忍5V电压输入。二、在HAL库中的GPIO的模式1、输入模式GPIO_Input    上拉或下拉输入(GPIO Pull-up/Pu

STM32的GPIO操作(寄存器&HAL)

(注:此为乐某学习记录,若有出错的地方欢迎各位指出!)前言本人使用的开发板的芯片是STM32H743XIH6,所以外设也是根据此芯片来介绍。在使用HAL库配置的时候,需要安装STM32CubeMX。此软件可在ST官网下载,剩下的安装步骤比较简单,不会单独出篇进行讲解。STM32CubeMX下载网址:https://www.st.com/zh/development-tools/stm32cubemx.html一、什么是GPIO?可以做什么?GPIO是General Purpose Input/Output的简写,翻译为通用输入/输出。在STM32里是可以对其进行控制或读取的引脚,通俗点讲,可以

Zynq-7000、国产zynq-7000的GPIO控制(一)

Zynq-7000系列GPIO排布如下图所示,著名手册ug585第14章,第一个图,这图很清晰的表明,一共54个MIO,64个EMIO,所有这些IO共分为4个bank,其中Bank032bit —>>MIO[0:31]Bank122bit —>>MIO[32:53]Bank232bit —>>EMIO[0:31]Bank332bit —>>EMIO[32:63]看懂这个很重要。后面的驱动都是根据这个来设计的。使用SDK控制GPIO主要函数说明初始化GPIO驱动 /*InitializetheGPIOdriver.*/ ConfigPtr=XGpioPs_LookupConfig(GPIO_DE

android - 更改树莓派 3 上串口的波特率

我在树莓派3上安装了lineageos14我用UART端口连接了一个gps模块,但是,GPS的波特率为9600但/dev/ttyS0的波特率为115200我想更改ttyS0的波特率命令读取GPS数据我试过stty命令stty-F/dev/ttyS09600但是,当我用这个命令再次检查时,这不会改变波特率stty-F/dev/ttyS0速度值为115200。我怎样才能改变/dev/ttyS0的波特率我也找到了一些串行命令的解决方案serial/dev/ttyS09600但是它在adbshell上不存在。任何帮助将不胜感激 最佳答案 您

嵌入式2. 深刻理解GPIO(上拉输入、下拉输入、模拟输入、浮空输入,开漏输出,推挽输出)

目录前言GPIO是什么GPIO的八大模式输入模式浮空输入上拉输入下拉输入模拟输入输出模式开漏输出推挽输出复用开漏输出复用推挽输出GPIO的输出速率前言学习了这么久的单片机,说来羞愧,直到写这篇文章之前,我都没有仔细去理解GPIO的八种使用模式,之前只是傻傻的用着,直到把模电,数电学完,到今天重新回顾了一遍这一个知识,发现自己终于看懂了之前没有理解透彻的知识,特此总结下来。GPIO是什么从最基础的51单片机,Arduino,到STM32,树莓派等等,这些上面都会有GPIO口这么一个概念,如果你点开了我这个博客,说明你大概率开始学习单片机,那么你应该了解的就是这些口可以输出高低电平,或者是读取引脚

STM32通用输入输出端口GPIO(IO口)

1.GPIO口的概念1.1概念IO口:通用输入输出端口,通过软件控制其输入输出,STM32芯片的GPIO引脚与外部设备连接起来,从而可以实现与外部的通信,控制以及数据采集的功能;输出模式下,可控制端口输出高低电平,用于驱动LED,蜂鸣器,模拟通信协议输出时序等;当控制功率较大的设备可以加入驱动电路;输入模式下,可读取端口的高低电平或电压,用于读取按键输入,外接模块电平信号输入,ADC电压采集,模块通信协议接收数据等;每个IO口有俩个32位的配置寄存器(CPIO_CRL低位,GPIO_CRH高位),俩个数据寄存器,一个位置位/复位寄存器,一个16位的复位寄存器,一个32位的锁定寄存器;*GPIO