首页 > 其他分享 >关于STM32单片机的一些事情-1.1

关于STM32单片机的一些事情-1.1

时间:2024-05-27 23:30:26浏览次数:38  
标签:1.1 Pin STM32 单片机 GPIOA InitStructure Mode GPIO RCC

1.1.1回顾:

上一篇博客我们一起了解了一下:stm32工程文件的建立,以及使用hal库函数去操作单片机。本篇我们将继续探讨STM32的一些事情。

1.1.2 GPIO简介

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

1.1.3 GPIO的基本结构

在这里插入图片描述
在这里插入图片描述

GPIO的八种模式:

通过配置GPIO的端口配置寄存器,端口可以配置成以下8种模式

在这里插入图片描述

LED灯闪烁的代码案例:

分为三步:
使用RCC开启GPIO的时钟:
初始化GPIO
对GPIO进行控制输出:
在固件库中找到RCC.h的定义:

void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);
void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);
void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);

RCCAHBP,RCCAPB2,RCCAPB1的外设时钟控制。

RCC_AHBPeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin= GPIO_Pin_0;
	GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);

上述代码完成了外设时钟的配置:

#include "stm32f10x.h"                  // Device header

int main(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin= GPIO_Pin_0;
	GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	GPIO_ResetBits(GPIOA,GPIO_Pin_0);
	while (1)
	{
		
	}
}

上述代码成功点亮了一颗LED灯;
下面实现LED闪烁的任务:

#include "stm32f10x.h"                  // Device header
#include "Delay.h"


int main(void)
{
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
	GPIO_InitTypeDef GPIO_InitStructure;
	GPIO_InitStructure.GPIO_Mode= GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Pin= GPIO_Pin_0;
	GPIO_InitStructure.GPIO_Speed= GPIO_Speed_50MHz;
	GPIO_Init(GPIOA,&GPIO_InitStructure);
	
	while (1)
	{
		GPIO_WriteBit(GPIOA,GPIO_Pin_0, Bit_RESET); 
		Delay_ms(1000);
		GPIO_WriteBit(GPIOA,GPIO_Pin_0, Bit_SET); 
		Delay_ms(1000);
	}
}

标签:1.1,Pin,STM32,单片机,GPIOA,InitStructure,Mode,GPIO,RCC
From: https://blog.csdn.net/jdk12123/article/details/135888259

相关文章

  • hadoop3.2.3+flink1.13.0+hbase2.4.8集群搭建
    hadoop3.2.3+flink1.13.0+hbase2.4.8集群搭建hadoop3.2.3+flink1.13.0+hbase2.4.8集群搭建1.准备3台centos7服务器配置hosts(可能需要重启才生效)/etc/hosts192.168.10.209master192.168.10.155slave1192.168.10.234slave2123456免密登录ssh-keygen-trsass......
  • STM32_HAL_串口IAP
    1.IAP简介        IAP(InApplicationProgramming)即在应用编程。STM32可以通过设置MSP的方式从不同的地址启动:包括Flash地址、RAM地址等,在默认方式下,我们的嵌入式程序是以连续二进制的方式烧录到STM32的可寻址Flash区域上的。如果我们用的Flash容量大......
  • SciTech-EECS-用MCU单片机驱动220V的阻性/感性/容性负载的
    用单片机控制220V交流电的通断方法•来源:璀璨电子俱乐部•作者:璀璨电子俱乐部•2020-06-2510:38首先220V交流电的:负载是多大(额定功率,正常输出功率);负载类别是感性?阻性?容性?1、阻性负载比如普通的灯泡,一般是30到40W左右,如果用220V交流电来控制通断:简单点的就用一......
  • STM32_HAL_FLASH 模拟 EEPROM
    1.STM32FLASH简介STM32F407ZGT6的FLASH容量为1024K字节,STM32F40xx/41xx的闪存模块组织如图STM32F4的闪存模块由主存储器、系统存储器、OPT区域和选项字节等4部分组成。        主存储器,该部分用来存放代码和数据常数(如const类型的数据)。分为12个......
  • STM32F4平台使用SerialPort串口库教程
    这一期教程的内容主要是在STM32F4平台使用SerialPort串口库和上位机通信,上位机(例如串口调试助手)向下位机发送字符串,下位机接收到字符串后,经过加工处理再发送给上位机。SerialPort串口库使用C++编写,用户只需在外部实现4个中断回调函数即可完成串口DMA收发,然后使用read函数读......
  • 01-1.1.2 算法的时间复杂度
    如何评估算法时间开销?存在的问题和机器性能有关和编程语言有关和编译程序产生的机器指令质量有关有些算法不能事后统计运行时间的——>如导弹控制算法算法的时间复杂度——>T=T(n)事前预估算法时间开销T(n)与问题规模n的关系(T表示“time”)算法的时间复杂度用算法表......
  • 11.1文件描述符0、1、2
    11.1文件描述符文件描述符:是内核为了高效管理已被打开的文件所创建的索引,用于被打开的文件,所有执行I/O操作的系统调用都通过文件描述;文件描述符是一个简单的非负整数,用以表明每一个被进程所打开的文件,程序刚刚启动的时候,第一个打开的文件是0,第二个打开的是1,以此类推。也......
  • End Of Live OpenSSL 1.1 vs Slow OpenSSL 3.0
    EndOfLiveOpenSSL1.1vsSlowOpenSSL3.0【英文原文】你可能已经注意到,OpenSSL1.1.1系列将于下周一(2024年5月27日)达到寿命终止(EOL)……最明智的选择是尽快切换到3.0或3.1版本。当然,我们的mORMot2OpenSSL单元在1.1和3.x分支上运行,并在运行时自适应每个......
  • 嵌入式实时操作系统笔记3:FreeRTOS移植(STM32F407)_编写简单的FreeRTOS任务例程
    上文讲到UC/OSIII系统的移植,那篇文章是失败了的,网络上的资料真是层次不清,多有遗漏步骤,导致单片机连操作系统的初始化都卡在那,这次换个赛道,学FreeRTOS吧......今日任务如标题所示:FreeRTOS移植(STM32F407)_编写简单的FreeRTOS任务例程文章提供测试代码讲解、完整工程下载、测......
  • STM32 F1系列 全中文HAL&LL库使用手册 中英双语对照 GPT机翻 共1208页、约40万字
    STM32F1系列全中文HAL_LL库使用手册,中英文双语对照阅读。内容、格式对照官方原文,含标签导航及目录跳转。全文GPT机翻,除人工翻译外,相对更加贴合原文原意,双语版防止翻译错误方便对照。全文:1208页,约40万字。*******下有更多展示图片********由于本汉化不改变官方文档的内容......