快捷搜索:  汽车  科技

gpio搭建(GPIO口使用方法汇总)

gpio搭建(GPIO口使用方法汇总)GPIO口输出PWM波,跟当作I2C使用的性质上是一样的。控制GPIO口 定时拉高拉低,就可以输出PWM波形。不同占空比的PWM波形这些功能有些可以直接配置成硬件接口,也可以通过软件来模拟波形。GPIO用作I2C数据总线GPIO输出PWM波控制蜂鸣片

上一篇在这里:

GPIO口使用方法大全(上篇)


gpio搭建(GPIO口使用方法汇总)(1)

上一篇讲到了GPIO的简单用法。

GPIO除了简单的输入输出之外,还可以做一些相对复杂的操作,例如模拟I2C或SPI数据线、ADC电压检测、输出PWM波形等。

这些功能有些可以直接配置成硬件接口,也可以通过软件来模拟波形。

用作I2C接口

gpio搭建(GPIO口使用方法汇总)(2)

GPIO用作I2C数据总线

gpio搭建(GPIO口使用方法汇总)(3)

GPIO输出PWM波控制蜂鸣片

gpio搭建(GPIO口使用方法汇总)(4)

不同占空比的PWM波形

GPIO口输出PWM波,跟当作I2C使用的性质上是一样的。控制GPIO口 定时拉高拉低,就可以输出PWM波形。

如上图,就是通过PWM来控制外部升压电路,驱动蜂鸣片发出声音的。

PWM还可以用于控制LED灯的调光,改变PWM输出的占空比,调节灯光亮度。


ADC采样

gpio搭建(GPIO口使用方法汇总)(5)

GPIO用作ADC采样,采集电池电压

gpio搭建(GPIO口使用方法汇总)(6)

电池分压后给ADC采样

ADC Analog-to-Digital Converter,把模拟信号转换成数字信号。

ADC的应用范围很广,麦克风音频数据的采样、电压电流信号的采样、模拟传感器输出的数据的量化等。

受限于精度、量程、采样速度等,GPIO的ADC一般不做太复杂的应用,大部分时候只做电压采集

如上图,把GPIO口配置成为ADC模式,采集电池电压,用于做电池电量显示。这个做法只适合做简单的电池电压显示,如果要做类似智能手机的百分之一精度的电池电量管理,还需要外加更高精度的ADC和电池补偿算法。

GPIO做ADC,最常遇到的问题是:

一,不是所有的GPIO口可以做ADC使用,一定要看清楚规格书!

二,ADC有电压域限制的,3V供电的ADC测量不到超过3V的电压。例如上面第一张图,MCU用3V电池供电,此时GPIO/ADC的供电电压是3V,最大量程也是3V,可以测量到电池电压。而第二张图锂离子电池电压是4.2V,MCU供电是3V,GPIO/ADC工作电压也是3V,就量不到这么高的电压了。超出量程测量出来的都是一样的。因此利用电阻分压,把4.2V的电池电压折半降低到2.1V,给3V量程的ADC使用。


欢迎关注燚智能头条号,给你量产级项目的设计经验。

gpio搭建(GPIO口使用方法汇总)(7)

燚智能周教授 智能硬件开发实战大讲堂

精彩内容回顾

多彩LED氛围灯设计方法详解

肖特基二极管 三大参数,看你用的对不对?

多款主流共享单车锁 设计方案详解


猜您喜欢: