STM32的IO口有幺蛾子(bug)
在做最近的项目时,我发现一个这样的问题:对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)相关推荐
- stm32的IO口的复用功能(即AFIO)
关于stm32的IO口的复用功能,可以参考这篇博客,写的不错. https://blog.csdn.net/u013082827/article/details/77543394
- STM32芯片IO口的配置以及上拉下拉电阻介绍(一)
STM32芯片IO口的配置以及上拉下拉电阻介绍(一) IO口常见的配置方式 推挽输出 开漏输出 STM32芯片做硬件研发的朋友们都知道.但是还是有很多做硬件的新朋友"只知其然而不知其所然&q ...
- STM32中IO口的8中工作模式
该文摘自:http://blog.csdn.net/kevinhg/article/details/17490273 一.推挽输出:可以输出高.低电平,连接数字器件:推挽结构一般是指两个三极管分别受两 ...
- 24.STM32的IO口扩展PCF8574
1.IO口扩展芯片 PCF8574是一款带IIC总线,可使大多数MCU实现远程I/O 口扩展. 该器件包含一个8位准双向口和一个IIC总线接口.(通信接口IIC,2根线可以扩展为8个口) PCF857 ...
- stm32、IO口、中断、串口、定时器讲解
目录 一.IO口的八种模式 二.IO口的配置 三.外部中断配置 四.串口配置 五.定时器配置 六.项目 一.IO口的八种模式 输入 浮空输入:浮空,顾名思义,就相当与此端口在默认情况下什么都不接,呈高 ...
- stm32读取io口高低电平计数_最全的STM32八种IO口模式讲解(已经标注,新手必备)
以及上拉输入.下拉输入.浮空输入.模拟输入的区别 最近在看数据手册的时候,发现在 Cortex-M3 里,对于 GPIO 的配置种类有 8 种之多: ( 1 ) GPIO_Mode_AIN 模拟输入 ...
- [技术讨论]STM32 IO口输出之推挽输出和开漏输出对比
先上一个总览图 众所周知STM32的IO口可配置成输出和输出,其中输入有四种模式,输出也有四种模式,分别如下: 输入: GPIO_Mode_AIN-----------------模拟输入 GPIO_ ...
- STM32 IO口的八种模式
[冉冰的成长日记007] STM32 的 IO 口可以由软件配置成如下 8 种模式: 1.输入浮空 2.输入上拉 3.输入下拉 4.模拟输入 5.开漏输出 6.推挽输出 7.推挽式复用功能 8.开漏复 ...
- STM32笔记 GPIO介绍及IO口操作 STM32F0 利用C语言位域实现仿位带操作
文章目录 GPIO简介 工作方式 相关寄存器介绍 IO 操作步骤 IO口三种操作细解 附录:C语言相关 偏移地址与绝对地址 GPIO简介 GPIO:每个连接到I/O总线上的设备都有自己的I/O地址集, ...
最新文章
- IT人士,你的知识需要管理。
- python调用命令行获取pid_python 使用标准库根据进程名获取进程的pid
- 面试官:聊聊微信和淘宝扫码登录背后的实现原理?
- 【收藏】Hbase2.x协处理器的使用
- Today's my MDX...
- 四大主流芯片架构(X86、ARM、RISC-V和MIPS)
- linux “命令行自动补全”功能用命令
- 台达plc读取变频器电流案例_MODBUS通信之触摸屏与变频器通信知识分享(一)
- 【kafka】Replication factor: 1 larger than available brokers:0
- 通过python切换hosts文件
- 005 Aspectj的引入
- c语言判断不是大写字母,c语言isupper()函数如何判断字符是否为大写英文字母实例...
- php 聚合广告平台,带统计功能的广告管理系统PHP源码 多维度投放策略 多种风格后台...
- STA之RC Corner
- 知识星球<我们谈论数据科学>-python30天打卡训练营Day1
- 机器翻译baseline
- 《穷查理宝典》思维导图
- 巴西龟饲养日志-----黑壳虾
- Python Scrapy - Ins爬虫
- memory interleaving(内存交织)