跳转到主要内容

GPIO

绝妙!1个GPIO控制2个LED显示4种状态,什么?你不信?

cathy 提交于

“”

很多电子产品有状态指示灯,比如电视机:

  • 待机状态亮红灯

  • 开机状态亮绿灯

实现起来很简单,微控制器MCU的两个GPIO分别控制就行:

“”

不过资源总是紧张的,有时候会碰到GPIO不够用的情况。

如果只用1个GPIO,可不可以实现控制两个LED灯呢?

要实现4种状态:

  • 红灯亮,绿灯灭

  • 红灯灭,绿灯亮

  • 都灭

  • 都亮

直接上电路:

【STM32】GPIO工作原理(八种工作方式超详细分析,附电路图)

cathy 提交于

STM32的GPIO介绍

STM32引脚说明

GPIO是通用输入/输出端口的简称,是STM32可控制的引脚。GPIO的引脚与外部硬件设备连接,可实现与外部通讯、控制外部硬件或者采集外部硬件数据的功能。

STM32F103ZET6芯片为144脚芯片,包括7个通用目的的输入/输出口(GPIO)组,分别为GPIOA、GPIOB、GPIOC、GPIOD、GPIOE、GPIOF、GPIOG,同时每组GPIO口组有16个GPIO口。通常简略称为PAx、PBx、PCx、PDx、PEx、PFx、PGx,其中x为0-15。

STM32的大部分引脚除了当GPIO使用之外,还可以复用位外设功能引脚(比如串口),这部分在【STM32】STM32端口复用和重映射(AFIO辅助功能时钟) 中有详细的介绍。

GPIO基本结构

每个GPIO内部都有这样的一个电路结构,这个结构在本文下面会具体介绍。

这边的电路图稍微提一下:

闪烁 LED – 借助 IOT 开发套件操控英特尔 GALILEO 开发板上的数字 GPIO

editor /

该示例代码采用 IoT 开发套件的 Live USB 映像运行主机系统,该系统可通过 Yocto 应用开发工具和 Eclipse* 控制英特尔 Galileo 开发板。 该示例假定英特尔 Galileo 开发板通过 SD 映像启动,IoT 开发套件也提供该映像。 用户也可以在开发板上直接使用该代码,这一话题今后再予以讨论。