GPIO点亮LED
- GPIO外设的概述
- GPIO的概念
GPIO(General Purpose Input/Output)外设是微控制器MCU中最基本且最通用的接口,用于与外部设备进行交互。GPIO引脚的核心功能是作为通用的数字输入或输出,可以通过软件配置为多种工作模式,以满足不同的应用需求,GPIO引脚需要和外设连接在一起的,就可以和外设实现通信以及采集数据等功能。
- GPIO的定义
指的是对芯片的某个I/O口进行高/低电平的输出,以及可以利用某个I/O的输入功能来获取外部输入的电平的状态。一般电平采用都是TTL电平信号,TTL电平信号规定:+5V等价于逻辑“1”,0V等价于逻辑“0”。
注意:电平其实有一个电压范围:一般>2.4V就可以表示高电平,<0.4V表示低电平
重点作业:要求大家了解TTL电平信号、RS-232电平信号、RS-485电平信号的区别和特点!(找工作会问)
- 引脚的布局
电源引脚 :VCC、VDD、VSS、VDDA、VSSA、VREF+等属于电源引脚
晶振引脚 :PC14、PC15、PH0、PH1就属于晶振引脚,也可以作为其他的功能使用
复位引脚 :NRST属于复位引脚 指的是低电平复位
BOOT引脚 :BOOT0是专用引脚,BOOT1就属于功能引脚 (设置芯片的自举模式)
GPIO引脚 :芯片一共有144引脚,但是GPIO引脚有114个
下载引脚 :PA13、PA14、PB3、PB4等都属于下载引脚(JTAG、SWD)
- 引脚的命名
芯片厂商设计芯片时,会对芯片的管脚进行命名,命名的标准都是差不多的,一般IO口的命名是由P(Pin)开头,分为很多组(端口),以字母A~H来命名,每个组(端口)有16个引脚,引脚的编号为0~15,所以如端口A引脚范围: PA0 ~ PA15 端口B引脚范围:PB0~PB15.....
和8bit单片机的I/O的命名规则类似,常用的8051单片机(AT 89C52、STC89C52.....),和以上的命名规则类似,只是端口的区别,8bit的管脚数量很少,只有40个管脚(2个供电引脚、1个复位引脚、2个晶振引脚、3个存储器选择引脚),剩下的32个管脚才作为I/O口。
只不过对于8bit单片机而言,所以把32个管脚分为4个端口,端口以数字0~3进行编号,每个端口下只有8个I/O口,也是以数字0~7进行编号 : P00 ~P07、P10~P17........
- 引脚的功能
需要注意:芯片的引脚有很多的功能,一般默认的功能都是作为GPIO(输入输出),但是引脚也有其他的功能,被称为“第二功能”,只有在使用ADC通道和DAC需要把引脚设置模拟模式,其他情况下想要把引脚当做别的功能使用,需要把引脚设置复用模式。注意:如果想要了解引脚的功能,应该查阅芯片的数据手册!!!!
- GPIO外设的使用
想要学习硬件开发,一般都是从点亮LED开始,主要是以基础外设作为入门,掌握外设的控制流程。
- 查看原理图,找到控制发光二极管的芯片的IO口,LED0 -- PF9引脚,其他的引脚类似!!
- 分析原理图,理解硬件的控制原理(复杂外设还需要结合数据手册),输出低电平就亮
现实中分辨发光二极管(LED)的正负极 :
. 引脚长度
- 正极(阳极):LED的较长引脚通常为正极。
- 负极(阴极):较短引脚为负极。
(注意:此方法适用于未剪脚的LED,若引脚已被剪短则需参考其他方法。)
2. 内部结构观察
- 透过LED的透明外壳观察内部电极:
- 正极:内部较小的金属片(通常为三角形或尖端形状)。
- 负极:内部较大的金属片(通常为碗状或圆形)。
3. 封装标记
- 平边标记:部分LED的圆形封装底部有平边(缺口),靠近平边的一侧为负极。
- 符号标记:部分贴片LED(如SMD型)表面会标有“+”或“-”符号。
4. 万用表检测
- 使用万用表的二极管测试档:
- 红表笔接正极,黑表笔接负极时,LED会微弱发光;反接则不亮。
- 程序设计,根据ST公司提供的函数库(标准外设库+HAL库)的帮助手册学习开发流程
以上是ST公司提供的关于标准外设库的外设的配置和初始化的流程,是针对MCU中所有外设的,流程是通用的。
所以ST公司为了提高用户体验,会为用户编写很多关于MCU外设的代码案例,供用户参考!
练习:下载刚才的程序,观察运行效果,如果D1可以实现点亮,说明代码思路没问题,则要求大家实现点亮开发板4盏LED的程序。