在做最近的项目时,我发现一个这样的问题:对STM32中的IO进行配置(以对B系列下的PB10、PB13配置成输出模式为例),即使在配置参数一样的情况下,这两个IO输出能力还是有很大的差别。
情况一:如图焊接电路,两个IO口配置的是同样推挽模式,编写程序使得LED灯进行闪烁,我当时碰到的情况就是一个LED灯能够闪烁,另一个LED灯死活不闪。后来换成三极管驱动LED灯的方式,才解决这样的问题。由此可以看出IO口的驱动能力很弱,而且不稳定。


情况二:如图焊接电路,两个DS18B20信号线对应的IO口配置成相同的输入输出模式,编写程序使得STM32读取DS18B20的温度值,并且分别反馈到电脑的上位机软件上。有一个DS18B20的温度能够正确并且及时的反馈到上位机软件上,另一个DS18B20就比较牛逼了,STM32能够检查到IO口上连接了这个DS18B20,并且能够读出一个温度值。但是读出那个温度值之后,不管这个DS18B20外界温度如何变化,上位机软件上就是不再更新这个DS18B20的温度了。更悲催的是,程序运行到一段时间后,STM32就开始冒烟发烫。我用万用表测量STM32芯片的VCC和GND,发现两者导通了。显然,STM32被击穿。

我对于这个问题的现象,一开始以为是我的电源正负极断路了,当我检查时,发现电源输出正常。众所周知,STM32正常的擦写次数是很多的,一定是因为什么原因导致STM32被击穿。
后来,我觉得我的电路没有什么问题,我就直接换了一个STM32模块,发现问题依旧存在,STM32被烧坏。这就让我很郁闷了。
再后来,因为我觉得DS18B20的温度读取不正常,可能和DS18B20的信号线有关系。所以我抱着试试的心态,将其上拉电阻去掉,再上电观察上位机的数据时,发现上位机能够正确显示DS18B20的温度值。
最后可以确定可能是上拉电阻影响了STM32的IO口正常工作,并且持续上拉的话,还会导致STM32被击穿。(我的上拉电阻接的电压就5V,也不知道为啥连5V电压STM32也受不了)
对于以上两个问题我进行以下总结,STM32的IO口相互之间还是有一定差别的(即使是在同样的A或者B等系列之中的IO口)。STM32之前一直是我眼中很稳定的芯片,现在发现也不过如此。正因为碰到这样的问题,更加坚定了我以后走嵌入式的道路。

STM32的IO口有幺蛾子(bug)相关推荐

  1. stm32的IO口的复用功能(即AFIO)

    关于stm32的IO口的复用功能,可以参考这篇博客,写的不错. https://blog.csdn.net/u013082827/article/details/77543394

  2. STM32芯片IO口的配置以及上拉下拉电阻介绍(一)

    STM32芯片IO口的配置以及上拉下拉电阻介绍(一) IO口常见的配置方式 推挽输出 开漏输出 STM32芯片做硬件研发的朋友们都知道.但是还是有很多做硬件的新朋友"只知其然而不知其所然&q ...

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

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

  4. 24.STM32的IO口扩展PCF8574

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

  5. stm32、IO口、中断、串口、定时器讲解

    目录 一.IO口的八种模式 二.IO口的配置 三.外部中断配置 四.串口配置 五.定时器配置 六.项目 一.IO口的八种模式 输入 浮空输入:浮空,顾名思义,就相当与此端口在默认情况下什么都不接,呈高 ...

  6. stm32读取io口高低电平计数_最全的STM32八种IO口模式讲解(已经标注,新手必备)

    以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候,发现在 Cortex-M3 里,对于 GPIO 的配置种类有 8 种之多: ( 1 ) GPIO_Mode_AIN 模拟输入 ...

  7. [技术讨论]STM32 IO口输出之推挽输出和开漏输出对比

    先上一个总览图 众所周知STM32的IO口可配置成输出和输出,其中输入有四种模式,输出也有四种模式,分别如下: 输入: GPIO_Mode_AIN-----------------模拟输入 GPIO_ ...

  8. STM32 IO口的八种模式

    [冉冰的成长日记007] STM32 的 IO 口可以由软件配置成如下 8 种模式: 1.输入浮空 2.输入上拉 3.输入下拉 4.模拟输入 5.开漏输出 6.推挽输出 7.推挽式复用功能 8.开漏复 ...

  9. STM32笔记 GPIO介绍及IO口操作 STM32F0 利用C语言位域实现仿位带操作

    文章目录 GPIO简介 工作方式 相关寄存器介绍 IO 操作步骤 IO口三种操作细解 附录:C语言相关 偏移地址与绝对地址 GPIO简介 GPIO:每个连接到I/O总线上的设备都有自己的I/O地址集, ...

最新文章

  1. IT人士,你的知识需要管理。
  2. python调用命令行获取pid_python 使用标准库根据进程名获取进程的pid
  3. 面试官:聊聊微信和淘宝扫码登录背后的实现原理?
  4. 【收藏】Hbase2.x协处理器的使用
  5. Today's my MDX...
  6. 四大主流芯片架构(X86、ARM、RISC-V和MIPS)
  7. linux “命令行自动补全”功能用命令
  8. 台达plc读取变频器电流案例_MODBUS通信之触摸屏与变频器通信知识分享(一)
  9. 【kafka】Replication factor: 1 larger than available brokers:0
  10. 通过python切换hosts文件
  11. 005 Aspectj的引入
  12. c语言判断不是大写字母,c语言isupper()函数如何判断字符是否为大写英文字母实例...
  13. php 聚合广告平台,带统计功能的广告管理系统PHP源码 多维度投放策略 多种风格后台...
  14. STA之RC Corner
  15. 知识星球<我们谈论数据科学>-python30天打卡训练营Day1
  16. 机器翻译baseline
  17. 《穷查理宝典》思维导图
  18. 巴西龟饲养日志-----黑壳虾
  19. Python Scrapy - Ins爬虫
  20. memory interleaving(内存交织)

热门文章

  1. android wifi布局,Android使用 WiFi 建立 P2P 连接
  2. java学习笔记(十)—— 抽象类、接口、内部类
  3. 前端之vue3的setup和setup的2个的形参、响应式页面
  4. 基于空间平滑MUSIC算法的相干信号DOA估计(1)
  5. free_rtos系统基本配置
  6. TiDB 在汽车之家818台网互动项目中的应用
  7. 去除COD有机物树脂A-722MP
  8. c语言常见warning的消除方法及重要性
  9. 音频混音接口调节音量及设置静音
  10. zookeeper代码实现常用命令 - 雨中散步撒哈拉