STM32F4XX - GPIO设置

news/2025/2/13 6:26:48/

一个简单的初始化代码如下:

  GPIO_InitTypeDef  GPIO_InitStructure;RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIOB时钟GPIO_InitStructure.GPIO_Pin =  Buzzer_PIN;//LED对应IO口GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHzGPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO

RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能GPIOB时钟
每次开始需要使用gpio引脚,都需要线使能相应GPIO总线时钟。 -----------这个时钟看上去是与总线相关(后面看uart adc时会看到,使用外设时还需要使能外设时钟)

GPIO_InitStructure.GPIO_Pin = Buzzer_PIN;//LED对应IO口
这个是指定引脚,比如GPIOA组的第几个引脚

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
设置GPIO模式也就是用途。模式有如下四种:

  1. GPIO_Mode_IN 普通的GPIO输入
  2. GPIO_Mode_OUT 普通的GPIO输出
  3. GPIO_Mode_AF 针对TIM, USART…
  4. GPIO_Mode_AN 针对ADC and DAC

GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
GPIO_Mode_IN输入模式时,不进行设置
GPIO_Mode_AF功能选择模式时,设置为GPIO_OType_PP
GPIO_Mode_AN模拟信号模式时,不进行设置
GPIO_Mode_OUT输出模式有如下类型:

  1. GPIO_OType_PP 推挽输出
  2. GPIO_OType_OD 开漏输出 (有外部上拉电阻时配这个?)

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
作为普通gpio时,设置速度为100MHz

GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
设置为上拉,增加驱动能力。


http://www.ppmy.cn/news/1362592.html

相关文章

东莞IBM服务器维修之IBM x3630 M4阵列恢复

记录东莞某抖音电商公司送修一台IBM SYSTEM X3630 M4文档服务器RAID6故障导致数据丢失的恢复案例 时间:2024年02月20日, 服务器品牌:IBM System x3630 M4,阵列卡用的是DELL PERC H730P 服务器用途和用户位置:某抖音电…

SpringBoot 拦截器(Interceptor)详解

概念 在Spring Boot中,拦截器是一种用于处理HTTP请求的机制,主要用于执行一些预处理或后处理的逻辑。与AOP不同,拦截器更专注于HTTP请求的处理 拦截器接口 在Spring Boot中,拦截器需要实现HandlerInterceptor接口!&a…

力扣模板题:回文链表

请牢记检测回文串的模板 /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/ bool isPalindrome(struct ListNode* head) {int size0;struct ListNode* pointhead;while(point){size;pointpoint->next;}int arr…

2/22作业

1.按位置插入 void insert_pos(seq_p L,datetype value,int pos) { if(LNULL) { printf("入参为空\n"); return; } if(seq_full(L)) { printf("表已满\n"); return; } if(pos>L->len|…

c#高级-正则表达式

正则表达式是由普通字符和元字符(特殊符号)组成的文字形式 应用场景 1.用于验证输入的邮箱是否合法。 2.用于验证输入的电话号码是否合法。 3.用于验证输入的身份证号码是否合法。等等 正则表达式常用的限定符总结: 几种常用的正则简写表达式…

大数据开发项目--音乐排行榜

环境:windows10,centos7.9,hadoop3.2、hbase2.5.3和zookeeper3.8完全分布式; 环境搭建具体操作请参考以下文章: CentOS7 Hadoop3.X完全分布式环境搭建 Hadoop3.x完全分布式环境搭建Zookeeper和Hbase 1. 集成MapReduce…

JAVA编程题系列——涵盖几乎所有java内容

自己定义一个类,有static属性和构造方法,有构造方法重载,有其他方法(方法有对String类型操作) public class MyClass {// 静态属性public static String staticProperty "Static Property";// 成员变量priv…

外贸支付网站需要加ssl证书吗?

随着全球贸易的发展和互联网的普及,外贸支付网站成为了各地商家进行跨境交易的重要平台。在这样一个需要跨境支付和数据传输的网络环境下,网站安全性和用户数据保护变得尤为重要。而SSL证书作为一种加密技术,可以有效保护网站和用户数据的安全…