gpio搭建(GPIO口使用方法汇总)
gpio搭建(GPIO口使用方法汇总)GPIO口输出PWM波,跟当作I2C使用的性质上是一样的。控制GPIO口 定时拉高拉低,就可以输出PWM波形。不同占空比的PWM波形这些功能有些可以直接配置成硬件接口,也可以通过软件来模拟波形。GPIO用作I2C数据总线GPIO输出PWM波控制蜂鸣片
上一篇在这里:
GPIO口使用方法大全(上篇)
上一篇讲到了GPIO的简单用法。
GPIO除了简单的输入输出之外,还可以做一些相对复杂的操作,例如模拟I2C或SPI数据线、ADC电压检测、输出PWM波形等。
这些功能有些可以直接配置成硬件接口,也可以通过软件来模拟波形。
用作I2C接口GPIO用作I2C数据总线
GPIO输出PWM波控制蜂鸣片
不同占空比的PWM波形
GPIO口输出PWM波,跟当作I2C使用的性质上是一样的。控制GPIO口 定时拉高拉低,就可以输出PWM波形。
如上图,就是通过PWM来控制外部升压电路,驱动蜂鸣片发出声音的。
PWM还可以用于控制LED灯的调光,改变PWM输出的占空比,调节灯光亮度。
ADC采样
GPIO用作ADC采样,采集电池电压
电池分压后给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使用。
欢迎关注燚智能头条号,给你量产级项目的设计经验。
燚智能周教授 智能硬件开发实战大讲堂
精彩内容回顾
多彩LED氛围灯设计方法详解
肖特基二极管 三大参数,看你用的对不对?
多款主流共享单车锁 设计方案详解