STM32 GPIO实验_交替输出高低电平

这篇具有很好参考价值的文章主要介绍了STM32 GPIO实验_交替输出高低电平。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.实验目的:

使PB5和PE5交替输出高低电平。

以固定的周期让当PB5输出高电平时PE5输出低电平,反之当PB5输出低电平时PE5输出高电平。

2.头文件和声明子函数:延时函数用于提供固定的变化周期。

#include "stm32f10x.h"							         //包含STM32F1系列微控制器的头文件

void delay_ms(unsigned short int Number);		         //声明延时函数

3.1主函数部分1:初始化PB5和PE5引脚。


	GPIO_InitTypeDef GPIO_InitStructure;			     //定义结构体变量
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能PB口时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);//使能PE口时钟
	
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;	         //对PB5引脚进行设置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     //推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //频率最高50MHz
    GPIO_Init(GPIOB, &GPIO_InitStructure);               //初始化引脚
	 
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;	         //对PE5引脚进行设置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     //推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 //频率最高50MHz
    GPIO_Init(GPIOE, &GPIO_InitStructure);               //初始化引脚	
	

3.2主函数部分2:PB5和PE5一个置高电平(熄灭)一个置低电平(点亮),延时后翻转状态就可以看见亮灭效果,并无限循环。


  while(1)
	{
		GPIO_SetBits(GPIOB, GPIO_Pin_5);	             //PB5输出高电平
        GPIO_ResetBits(GPIOE, GPIO_Pin_5);	             //PE5输出低电平			
		delay_ms(500);                                   //延时(大约0.5s)
		GPIO_ResetBits(GPIOB, GPIO_Pin_5);	             //PB5输出低电平	
		GPIO_SetBits(GPIOE, GPIO_Pin_5);	             //PE5输出高电平
		delay_ms(500);                                   //延时(大约0.5s)
     }

4.延时函数:


void delay_ms(unsigned short int Number)                 //延时函数
{
    unsigned int i;
    while(Number--)
    {
       i=12000; while(i--);
    }
}

5.1完整代码:

#include "stm32f10x.h"							         //包含STM32F1系列微控制器的头文件

void delay_ms(unsigned short int Number);		         //声明延时函数

int main(void)                                           //主函数
{
	GPIO_InitTypeDef GPIO_InitStructure;			     //定义结构体变量
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能PB口时钟
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE);//使能PE口时钟
	
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;	         //对PB5引脚进行设置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     //推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    //频率最高50MHz
    GPIO_Init(GPIOB, &GPIO_InitStructure);               //初始化引脚
	 
	GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_5;	         //对PE5引脚进行设置
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;     //推挽输出模式
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	 //频率最高50MHz
    GPIO_Init(GPIOE, &GPIO_InitStructure);               //初始化引脚	
	
	while(1)
	{
		GPIO_SetBits(GPIOB, GPIO_Pin_5);	             //PB5输出高电平
        GPIO_ResetBits(GPIOE, GPIO_Pin_5);	             //PE5输出低电平			
		delay_ms(500);                                   //延时(大约0.5s)
		GPIO_ResetBits(GPIOB, GPIO_Pin_5);	             //PB5输出低电平	
		GPIO_SetBits(GPIOE, GPIO_Pin_5);	             //PE5输出高电平
		delay_ms(500);                                   //延时(大约0.5s)
	}
}

void delay_ms(unsigned short int Number)                 //延时函数
{
    unsigned int i;
    while(Number--)
    {
       i=12000; while(i--);
    }
}

5.2仿真实验:

仿真可以看出:PB5和PE5输出高低电平相反并。

STM32 GPIO实验_交替输出高低电平,stm32,单片机,嵌入式硬件

 文章来源地址https://www.toymoban.com/news/detail-721041.html

到了这里,关于STM32 GPIO实验_交替输出高低电平的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    GPIO(General Purpose Input Output)通用输入输出口 可配置为8种输入输出模式 引脚电平:0V~3.3V,部分引脚可容忍5V 输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等 输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电

    2024年03月15日
    浏览(84)
  • stm32——GPIO输出

    (以下内容均来自:bilibili江协科技) GPIO(general purpose input output)通用输入输出口 简介: 1、可配置8种输入输出模式 2、引脚电平:0v~3.3v,部分引脚可容忍5v(可以在这个端口输入5v的电压,也认为是高电平。但对于输出而已,最大只能输出3.3v,因为供电只有3.3v) 3、输出

    2024年02月05日
    浏览(35)
  • stm32 学习笔记:GPIO输出

           引脚电平 0-3.3V,部分可容忍5V,对输出而言最大只能输出3.3V,        只要可以用高低电平来控制的地方,都可以用GPIO来完成,如果控制的功率比较大的设备,只需加入驱动电路即可         GPIO 通用输入输出口,可配置为 8种 输入输出模式。 输出模式下可控制端口

    2024年02月09日
    浏览(55)
  • STM32入门——基本 GPIO 的输出控制

    GPIO 即 通用型输入输出端口(General-Purose Input / Output)的简称,简单来说就是 STM32 单片机的可控制的引脚,功能类似于 8051 系列单片机的 P0-P3 端口。STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部的通讯、控制以及数据采集的功能。STM32 芯片的 GPIO 被分为很多组,

    2023年04月18日
    浏览(35)
  • STM32 学习2 库函数控制GPIO输出

    GPIO是STM32微控制器上的一组引脚,可配置为输入或输出模式,用于与外部设备进行数字信号交换。每个GPIO引脚都有一个唯一的编号,通常称为引脚名称或引脚号码。 STM32系列微控制器通常具有多个GPIO引脚,数量取决于具体型号。 GPIO模块是STM32微控制器中非常重要的功能之一

    2024年02月21日
    浏览(38)
  • STM32通用输入输出端口GPIO(IO口)

    IO口:通用输入输出端口,通过软件控制其输入输出,STM32芯片的GPIO引脚与外部设备连接起来,从而可以实现与外部的通信,控制以及数据采集的功能; 输出模式下,可控制端口输出高低电平,用于驱动LED,蜂鸣器,模拟通信协议输出时序等; 当控制功率较大的设备可以加入

    2024年02月03日
    浏览(59)
  • STM32 寄存器配置笔记——GPIO配置输出

           本文主要介绍GPIO 作为输出时的寄存器配置。包括时钟配置,输出模式配置。以STM32F10xxx系列为例,配置PA8、PD2端口作为输出,输出高/低电平。         1)GPIO外设时钟          通过查找STM32F10xxx中文参考手册得知,GPIO PORT口的时钟配置在RCC_APB2ENR寄存器的第2~6位,

    2024年01月24日
    浏览(72)
  • stm32学习笔记-3GPIO通用输入输出口

    注:笔记主要参考B站 江科大自化协 教学视频“STM32入门教程-2023持续更新中”。 注:工程及代码文件放在了本人的Github仓库。 GPIO (General Purpose Input Output) 通用输入输出口 可配置为8种输入输出模式。 引脚电平范围为0V~3.3V ,部分引脚可容忍5V(图1-6中IO口电平为FT标识的)

    2024年02月15日
    浏览(119)
  • 【物联网】详解STM32的GPIO八种输入输出模式,GPIO各种输入输出的区别、初始化的步骤详解,看这文章就行了(超详细)_stm32输出模式

    复用开漏输出(AF Open-Drain Output):复用开漏输出模式允许将GPIO引脚用作特定外设功能。在该模式下,引脚只能输出低电平,要输出高电平需要通过外部上拉电阻或其他方式。 浮空输入(Floating Input):浮空输入模式是一种高阻抗输入模式。在该模式下,引脚不连接到外部电路,处

    2024年04月27日
    浏览(67)
  • STM32——关于GPIO口的输出方式和输入方式

    在STM32中,我们会要使用程序来对I/O口进行控制,当我们使用I/O口时,我们就需要知道在程序中我们需要这个I/O口来实现什么功能,是输入还是输出。   1、使用输出模式 I/O口常用的输出方式有推挽输出和开漏输出。 (1)推挽输出(GPIO_Mode_Out_PP):可以输出高、低电平,连接数

    2024年02月09日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包