首页 > 其他分享 >STM32:GPIO

STM32:GPIO

时间:2024-10-25 21:21:59浏览次数:8  
标签:Pin 引脚 端口 STM32 GPIOA InitStructure GPIO

目录

一、简介

二、结构

三、功能

        1.GPIO

        2.外部中断

四、示例 


一、简介

        输入输出(IO)是单片机最基本的外设功能之一。根据型号不同,STM32的IO端口数量不同,如64引脚的STM32F103RBT6有A、B、C、D四个IO端口,每个端口有16个引脚。每个引脚可以作为通用输入输出(GPIO,General Purpose Input Output),大部分引脚也可以作为复用功能输入输出(AFIO,Alternate Function Input Output)

二、结构

STM32F10x的IO端口的基本组成结构如图所示:

三、功能

 1.GPIO

通用功能输入输出(GPIO)包括下面几种模式:

 2.外部中断

        所有端口都有外部中断能力,为了使用外部中断线,端口必须配置成输入模式。外部中断/事件控制器结构及应用在STM32单片机外部中断EXTI详细论述。 

四、示例 


RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);	
//开启GPIOA的时钟,以便能够使用外设GPIO
														
GPIO_InitTypeDef GPIO_InitStructure;					//定义结构体变量	
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;		//GPIO模式,设为推挽输出模式
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;				//GPIO引脚,设为第0号引脚
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;		//GPIO速度,设为50MHz
GPIO_Init(GPIOA, &GPIO_InitStructure);					//根据上述参数初始化GPIOA端口

GPIO_ResetBits(GPIOA, GPIO_Pin_0);					    //将PA0引脚设置为低电平
GPIO_SetBits(GPIOA, GPIO_Pin_0);					    //将PA0引脚设置为高电平

标签:Pin,引脚,端口,STM32,GPIOA,InitStructure,GPIO
From: https://blog.csdn.net/han2205277149/article/details/143171646

相关文章

  • STM32配置HID设备时主机识别不到力反馈的解决办法
    这个问题困扰我快一个星期了,我仔仔细细阅读了DeviceClassDefinitionforPhysicalInterfaceDevices(PID)Version1.0和HIDUsageTablesFORUniversalSerialBus(USB)。都没有找到识别不到力反馈的原因,按理说配置完报告描述符就能显示力反馈了,但是我这边死活识别不到,于......
  • STM32H723 ADC+DMA 误差解决
    很多论坛提到STM32H723ADC不准的问题,在安富莱的论坛上很多。实测STM32CubeFW_H7V1.9.1这个库生成的ADC的驱动代码可以实现ADC的精确测量。需要注意的是在ADC的初始化后,要对ADC进行校准,如果不进行校准ADC1ADC2会有50个ADC左右的误差,ADC3有接近130个ADC值得误差。`voidMX_AD......
  • 基于STM32的多功能数控电源设计
    基于STM32的多功能数控电源设计摘要本文介绍了基于STM32单片机的多功能数控电源设计。该电源具有输出电压和电流在一定区间内连续可调、实时显示参数、具备温度检测和过流保护功能等特点。采用STM32F103系列单片机作为核心控制器,通过模块化设计实现高精度调节、实时显示和安......
  • stm32入门教程--UART协议详解
    目录简介UART串口协议串行通信并行通信串行通信与并行通信的区别单工通信半双工全双工同步和异步的区别UART帧结构简介STM32是意法半导体公司推出的一款32位ARMCortex-M系列微控制器。UART、SPI和I2C是STM32中常用的串行通信协议。UART(通用异步收发器):UART是一......
  • STM32中U8, U16 ,U32啥意思
    1.unsigned int 32 (C语言标准表达方法)        2.uint32_t ;            3.u32;  这三种方式都是在表达同一个意思。可为什么ST的开发人员要搞的这么乱呢? 其实ST 搞这么多花样,无非是想开发人员在写代码时定义数据类型能少写几个符号,然后又因为前后版本......
  • STM32基于CubeMX与Simulink的模块开发——Keil相结合(未解决)
    说明将Simulink和外置IDE结合起来,是方便习惯了代码开发的同学能更清晰和舒服的调试参考资料:Simulink自动代码生成电机控制:基于Keil软件集成-CSDN博客STM32CubeMX、keil、simulink联合开发MCU教程_simulinkinvalidindex-CSDN博客【Clion/keil+CubeMX+simulink模型化......
  • 64MHz - STM32WB06CCV6 STM32WB06CCV7 STM32WB06KCV6 STM32WB06KCV7无线MCU支持蓝牙®
    STM32WB0x蓝牙®低功耗5.432位MCU采用紧凑、节能的设计,可实现可靠的无线性能。STM32WB06MCU基于运行频率为64MHz的Arm®Cortex®-M0+内核,具有高达256Kb的闪存和32Kb的RAM。STM32WB06通过蓝牙®低功耗5.4认证,具有同类最佳的功耗、无线电和低功耗特性,非常适合用于成本和能......
  • STM32蓝牙插座项目(hal)
    这是一个非常简单的蓝牙小项目项目要求,能够在手机上发送开启闸门时,继电器相应的打开,在手机上发送关闭闸门时,继电器相应关闭,且在开始时,发送“hello,帅气的雷先生”使用PIN脚:蓝牙:RX2TXDTX2RXDGNDGND5V5V继电器:PB6INGNDGND3.3VVCC 代码实现:1、串口蓝牙通信我们这里的蓝牙......
  • STM32 第16章STM32中断应用概览
    时间:2024.10.23一、学习内容1.异常类型1.1中断简介STM32中断非常强大,每个外设都可以产生中断,因此中断是一个公共的部分。在本章讨论中,如无特别说明,异常就是中断,中断就是异常。1.2中断类型系统异常,体现在内核水平(Cortex-M3)外部中断,体现在外设水平有关系统异常和中断的......
  • STM32第15章 RCC-使用HSE/HSI配置时钟
    时间:2024.10.21-10.23参考资料:《零死角玩转STM32》“RCC-使用HSE/HIS配置时钟”章节TIPS:从前面的历程中我们知道,程序在启动的时候会执行汇编文件,汇编文件里会调用System_Init(固件库编程的函数),它里面会把时钟初始化成72M,因此前面我们在用固件库写程序的时候,有关时钟这一部......