前言
本博文基于STM32F103ZET6编写;
如有不足之处,多多指教;
多功能引脚图
下图为STM32芯片引脚细节图
由图片可知,STM32大部分GPIO都有复用功能,所以在配置的时候要格外小心;
下图为**《STM32大容量手册》引脚功能分类图**
引脚分类(按照我自己理解给分的类)
第一类:非GPIO单功能引脚
电源引脚Vdd;
接地引脚Vss;
芯片掉电保持引脚VBAT;
外部晶振引脚OSC_IN和OSC_OUT;
空引脚NC;
复位引脚NRST;
参考电压引脚VREF+和VREF-;
BOOT0引脚;
特点: 这列引脚往往在Pin name这栏中都是以本身的功能名命名;
第二类:GPIO单功能引脚
例如最后一个表格中的PG15,只有普通输入输出的功能(主要功能),没有默认功能和复用功能;
第三类:主要功能复用的GPIO引脚
只有一个:PB2引脚,它和BOOT1引脚共用;
第四类:主要功能为GPIO的多功能复用GPIO引脚
例如:PC7:主要功能:PC7(GPIO),默认功能:I2S3_MCK/TIM8_CH2/SDIO_D7;映射功能:TIM3_CH2
第五类 :主要功能为映射功能的GPIO引脚
这类引脚我已经在表格中标注(红方框);这类引脚的特点是:系统复位后功能为映射功能,而真正的GPIO功能需要代码中自己配置;
例如:PB4
在芯片复位后表现为NJTRST功能,而普通的PB4功能在映射功能里;如遇需要使用PB4引脚GPIO功能的,需要执行下面语句:(我曾在这里跌过大跟头,所以写了今天的博客,哈哈)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable,ENABLE);
关键字:STM32F103ZET6 引脚分类 引脚总结
引用地址:
STM32F103ZET6的引脚分类和几个需要特殊注意的引脚总结
推荐阅读最新更新时间:2024-11-10 13:43
基于stm32f103zet6的串口学习
进行串口配置的步骤 一、初始化GPIO,配置GPIO模式 一个结构体 GPIO_InitTypeDef{ GPIOMode_TypeDef GPIO_Mode//GPIO模式,输入,输出? uint16_t GPIO_Pin //哪个管脚? GPIOSpeed_TypeDef GPIO_Speed//输出响应速度?如果为输入则可以不设置 } //GPIO_Mode包括以下几种方式 Enumerator: 枚举类型 GPIO_Mode_AIN //模拟输入 GPIO_Mode_IN_FLOATING //悬浮输入 GPIO_Mode_IPD //下拉输入 GPIO_Mode_IPU //上拉输入 GPIO_Mode_Out_
[单片机]
STM32F103ZET6 —— GPIO
STM32 的 GPIO 可以由软件配置成为几种不同的模式,每个I/O端口位可以自由编程,然而I/0端口寄存器必须按32位字被访问: A. 芯片侧: 1. 输入: MODE Descriptions 输入浮空 引脚配置成为浮空状态,接施密特触发器,常用的场景是外接按键 输入上拉 输入接上拉电阻,将不确定的信号钳位到高电平 输入下拉 输入接下拉电阻,将不确定的信号钳位到低电平 模拟输入 信号直接进入ADC模块,即无法再输入寄存器中读到IO口的状态 2. 输出: MODE Descriptions 开漏输出 所谓开漏,指MOSFET漏极。IO输出1时,悬空,需要外部电路上拉电
[单片机]
STM32F103ZET6 — RTC
简介 RTC 是Real Time Clock 的简称,意为实时时钟。即,提供类似于 PC 上的时间记录信息的功能。既然是实时时钟,则至少应该有秒、分、时等信息。也可以直观的把他理解成为一个计数器,一直累加。但又不同于 CPU 上电后的那些计数器,对于 RTC ,需要支持的是掉电后的继续计数(存在备用电源)。所谓掉电,是指电源Vpp断开的情况下,为了RTC外设掉电可以继续运行,必须给STM32芯片通过VBAT引脚街上锂电池.当主电源VDD有效时,由VDD给RTC外设供电.当VDD掉电后,由VBAT给RTC外设供电.无论由什么电源供电,RTC中的数据始终都保存在属于RTC的备份域中,如果主电源和VBA都掉电,那么备份域中保存的所有
[单片机]
基于stm32f103zet6的外部中断学习
一、关于中断中的结构体EXTI_InitTypeDef 原型:uint32_t EXTI_InitTypeDef::EXTI_Line { uint32_t EXTI_Line FunctionalState EXTI_LineCmd EXTIMode_TypeDef EXTI_Mode EXTITrigger_TypeDef EXTI_Trigger }含有4个成员 1、Specifies the EXTI lines to be enabled or disabled. This parameter can be any combination of EXTI_Lines EXTI_Lines的取值可以是下面的数字 #defi
[单片机]
STM32F103ZET6 — RTC
简介 RTC 是Real Time Clock 的简称,意为实时时钟。即,提供类似于 PC 上的时间记录信息的功能。既然是实时时钟,则至少应该有秒、分、时等信息。也可以直观的把他理解成为一个计数器,一直累加。但又不同于 CPU 上电后的那些计数器,对于 RTC ,需要支持的是掉电后的继续计数(存在备用电源)。所谓掉电,是指电源Vpp断开的情况下,为了RTC外设掉电可以继续运行,必须给STM32芯片通过VBAT引脚街上锂电池.当主电源VDD有效时,由VDD给RTC外设供电.当VDD掉电后,由VBAT给RTC外设供电.无论由什么电源供电,RTC中的数据始终都保存在属于RTC的备份域中,如果主电源和VBA都掉电,那么备份域中保存的所有
[单片机]
STM32F103ZET6 之 ADC 采样率的确定
1、STM32 ADC 介绍 STM32 ADC 是一个12 位精度、 一种逐次逼近型模拟数字转换器。它有多达18个通道,可测量16个外部和2个内部信号源。各通道的A/D转换可以单次、连续、扫描或间断模 式执行。 ADC的结果可以左对齐或右对齐方式存储在16位数据寄存器中。 ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。转换时最快为1us,当ADC的输入时钟超过14MHz 时其会损失一些精度。当然如果可以达到我们的精度,输入时钟 高点也没事。 在网上看到一回答ADC不超过14MHz 的答案:资料上的都是推荐,事实上很多芯片的设计都是有超额余量的,很多人都会超额的利用这些资源,并且很好的工作。 若所看的程序频率是超
[单片机]
基于stm32f103zet6之UC/OS_II的学习1(初步移植OS--点灯大法)
代码这里可以下载 http://download.csdn.net/detail/king_bingge/5353528 一、uc/OS的实时性是靠什么实现的? 1、uC/OS的实时性就是靠定时中断来完成。 2、每个时钟节拍到来,就会产生一次定时中断,中断后进行任务调度,运行就绪表中优先级最高的任务(非抢先型内核中断后继续运行被中断任务)。 即过一段时间就检测是否有重要任务需要运行,是的就转而运行更重要的任务,从而确保实时性(裸机程序就无法这样做了)。 当然这里没有把系统调用考虑进去。 二、首先整体把握一下在M3上运行ucosII的架构 这就是整个系统各模块之间的关系,好的接下来就按照手册来分析一下移植的时候需要注意的地
[单片机]