使用IO口检测电源电压主要是用于大功耗产品,电池电压会随着功耗的增大而变化,这个时候就要使用IO口来检测电压的变化。

我们能够得到的是芯片IO口检测到电压的数字值,需要将其转换为实际的电压值方法如下:
V为IO口检测到的实际电压(模拟值),vbat 为IO口电压换算之后的值,3.3是设置芯片IO口输入或者的最大电压值(实际可能会有偏差),255是软件储存电压变量的最大值,能够得到一个算式:3.3/255=V/Vbat,转换之后:V = ( 3.3 * Vbat ) / 255。V为一个模拟值,并不是我们计算需要的元素,所以需要将其消除,因此需要另外一个算式。
另外一个算式需要根据硬件计算,硬件连接如下:

Vdd为电池电压,V为IO口检测的电压,R1和R2为硬件所接的电阻,换算方法:VDD / V = ( R1 + R2 ) / R2,变形之后得到:V = ( R2 * Vdd ) / ( R1 + R2 )。

上面两个算式左边的意义相同,所以能够将无用的元素V去掉,右边相等,得到:( 3.3 * Vbat ) / 255 =( R2 * Vdd ) / ( R1 + R2 ) ,变形之后得到:Vdd = ( 3.3 * ( R1 + R2 ) * Vbat ) / ( 255 * R2 ),这样我们就将软件和硬件结合起来了,也可以根据需要修改电阻大小,还不清楚的小伙伴可以添加我的个人微信 lqy—1997 (中间是三个英文的杠)进行交流。

使用IO口检测电源电压的转换逻辑相关推荐

  1. 一个普通IO口检测两个按键的方法

    一个普通IO口检测两个按键的方法 (图一) (图二) 1 如图一所示: 当MCU供电为5V时候: IO口低电平电压范围:0-1.5V: IO口高电平电压范围:3.5-5.0V: 使用注意事项: 1.所 ...

  2. 如何利用单片机IO口产生两倍的电源电压

    简介 在很多情况下,电子系统中需要获得比工作电源高的电压电源,或者负电源.比如在一些功率器件(MOS)的基极驱动信号.扩展运算放大器的动态范围.一些通信信号(UART232). 现在有很多专门的芯片, ...

  3. STM32按键的检测IO口上拉下拉电阻

    1.按键高低电平有效 WK_UP 按键接VCC 当按键按下时 WK_UP 为高电平 给IO口输入高电平. 即高电平有效: KEY0 KEY1 KEY2 接地 当按键按下时KEY为低电平 给IO口输入低 ...

  4. STM32中IO口的8中工作模式

    该文摘自:http://blog.csdn.net/kevinhg/article/details/17490273 一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两 ...

  5. hc05与单片机连接图_单片机科普:单片机的IO口不够用了怎么办?如何扩展单片机的IO口...

    单片机是一种可编程器件,在各种消费类电子.工业电子.汽车电子等行业应用广泛,目前开发产品的构架就是以单片机为核心,根据不同的功能搭建不同的外设电路.同样的功能,每个人.每个团队所做的技术方案都不会相同 ...

  6. STM32 IO口的八种模式使用小结

    /** * @brief Configuration Mode enumeration */typedef enum { GPIO_Mode_AIN = 0x0, //模拟输入GPIO_Mode_IN ...

  7. STM32F103_USART_GPIO配置及相应的IO口设置

    STM32 系列单片机 GPIO 资料收集及总结 一.GPIO 配置 (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_ ...

  8. 基于s32k146的IO口模拟串口

    zhe最近在搞一个IO口模拟LIN的代码,其中包括IO口模拟UART的部分,就记录一下,希望对像我们这样的初学者能有所帮助. 1. 串口协议 串口的特点:全双工,串行,异步 串口协议(我这里选用最常见 ...

  9. 24.STM32的IO口扩展PCF8574

    1.IO口扩展芯片 PCF8574是一款带IIC总线,可使大多数MCU实现远程I/O 口扩展. 该器件包含一个8位准双向口和一个IIC总线接口.(通信接口IIC,2根线可以扩展为8个口) PCF857 ...

最新文章

  1. 伍六七带你学算法 入门篇-矩形重叠
  2. Swift语言中class、struct、enum的联系与区别
  3. server2016 查看图片 预览图片
  4. 阿里云物模型层功能分析
  5. 续说零拷贝(Zero-Copy) - DMA技术
  6. 2018年NLP技术学习总结
  7. 解决QQ未启用状态,QQ留言图标未启用
  8. 服务器可用性监测系统,可用性监控区别
  9. Linux 设置定时任务 清空日志
  10. 计算机c语言在线课堂,计算机(C语言)
  11. 阿里 Nacos 惊爆安全漏洞,火速升级!
  12. php格式文件用什么看,.zbf是什么格式文件,用什么看的
  13. php mail cc,邮件cc是什么意思
  14. 生物信息学之抗癌药物反应论文阅读六:DNN整合基因组谱
  15. 60、JAVA的map集合
  16. 【训练记录】2013-2014 Petrozavodsk Winter Training Camp, Moscow SU Trinity Contest @homework-7
  17. 计算机视频的压缩方式,电脑压缩视频的方法图解步骤
  18. HTML CSS 学习整理
  19. unity3D 鼠标点击游戏物体碰撞 (射线)
  20. deepin官方历史版本存档

热门文章

  1. 一个普通大学的普通学生的回忆
  2. 正念的奇迹 - 喧嚣的世界中获取安宁
  3. java基于微信小程序的流浪猫狗动物收养系统 uniapp 小程序
  4. 平衡面板数据中的缺失值可以存在吗?
  5. 空间射线与三角形相交算法的两种实现
  6. 2022世界燕窝展|上海滋补品展|虫草、海参展谈卖货,还是卖品牌?不再简单。
  7. 2021-08-16记一次无意发现正方教务系统的bug
  8. 标签打印机如何维护保养
  9. java10以内的加减法_Java实现随机10道10以内加减法的代码详解
  10. 【机器学习算法】逻辑回归为什么叫逻辑回归