请选择 进入手机版 | 继续访问电脑版

你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407 的IO配置成输入使用一段时间后坏了,对地电阻很小

[复制链接]
wanta_nie 提问时间:2016-4-1 11:36 /
板子在客户那边工作了一段时间后发现STM32F407 的输入口出现了不工作的情况,共使用了16个IO口,发现8个出现故障,断电正常IO口测量对地电阻很大 , 故障的IO口测量对地电阻有的只有1K有的只有几百欧,去掉周围电阻电容,故障不变,可以肯定是STM32F407 的IO输入出了问题,不知道什么原因怀疑是STM32F4 的IO脚坏掉了,可是将IO脚配置成输出后,控制高低电压又似乎是可以控制的,非常疑惑,不知道有朋友知道原因吗?

板子其他功能都是正常,晶振正常的,液晶按键都是正常工作的,程序也没跑飞,只有STM32F4 的几个输入引脚电压不正确,量的只有1.1V,正常时应该上拉到3.3V 所以板子输入信号总是错误的
板子以前以前都是正常工作的,现在几个IO输入脚忽然不工作
难道是STM32的IO脚烧坏了?
配置16个输入IO引脚的代码如下:
  1. // 通用输入口
  2. typedef struct
  3. {
  4.         GPIO_TypeDef * port;
  5.         uint16_t pin;
  6. }LIP_t;

  7. static LIP_t LIP[] =
  8. {
  9.         {GPIOE, GPIO_Pin_4},  // LI0 :PE4
  10.         {GPIOE, GPIO_Pin_5},  // LI1 :PE5
  11.         {GPIOE, GPIO_Pin_6},  // LI2 :PE6
  12.         {GPIOC, GPIO_Pin_13}, // LI3 :PC13
  13.         {GPIOC, GPIO_Pin_14}, // LI4 :PC14
  14.         {GPIOC, GPIO_Pin_15}, // LI5 :PC15
  15.         {GPIOC, GPIO_Pin_0},  // LI6 :PC0
  16.         {GPIOC, GPIO_Pin_1},  // LI7 :PC1
  17.         {GPIOC, GPIO_Pin_2},  // LI8 :PC2
  18.         {GPIOC, GPIO_Pin_3},  // LI9 :PC3(手轮 10X)
  19.         {GPIOA, GPIO_Pin_0},  // LI10:PA0(手轮 A)
  20.         {GPIOA, GPIO_Pin_1},  // LI11:PA1(手轮 B)
  21.         {GPIOA, GPIO_Pin_2},  // LI12:PA2(手轮 100X)
  22.         {GPIOA, GPIO_Pin_4},  // LI13:PA4(手轮 X轴)
  23.         {GPIOA, GPIO_Pin_5},  // LI14:PA5(手轮 Y轴)
  24.         {GPIOA, GPIO_Pin_6}   // LI15:PA6(手轮 Z轴)

  25. };

  26. void lip_init(void)
  27. {
  28.         // GPIO clock enable
  29.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
  30.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
  31.         RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

  32.         GPIO_InitTypeDef GPIO_InitStructure;

  33.         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
  34.         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
  35.         GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  36.         GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

  37.         for(int i=0; i < 16; i ++)
  38.         {
  39.                 GPIO_InitStructure.GPIO_Pin = LIP.pin;
  40.                 GPIO_Init(LIP.port, &GPIO_InitStructure);
  41.         }
  42. }
复制代码


板子一直在用的,忽然就这样了,刚用万用表测量了IO对地的电阻值,发现故障的IO变成 400欧姆左右,
好的IO脚对地电阻很大,所以,应该是 IO脚损坏了,只是不知道损坏的原因
外部24V都是经过光耦隔离的,核心电路都是3.3V
板子焊接后软件硬件通电测试过,在客户那边用了个把星期这样,应该不是焊接损坏,怀疑是静电什么的

难道STM32 的输入口这么脆弱吗?

接口电路图

接口电路图
收藏 评论13 发布时间:2016-4-1 11:36

举报

13个回答
wanta_nie 回答时间:2016-4-1 11:38:54
有朋友遇到过这样的情况吗,
power568 回答时间:2016-4-1 16:03:33
本帖最后由 power568 于 2016-4-1 16:04 编辑

有没有可能是其他的干扰引入,导致了损坏,可以根据现场现象分析一下,或者外部在做一下额外的滤波...
wanta_nie 回答时间:2016-4-1 20:34:03
power568 发表于 2016-4-1 16:03
有没有可能是其他的干扰引入,导致了损坏,可以根据现场现象分析一下,或者外部在做一下额外的滤波... ...

用光耦做了隔离,就算有干扰也不应该会损坏IO啊,挺奇怪的,STM32 难道 电源浪涌?静电?
power568 回答时间:2016-4-2 13:32:37
爱莫能助了,我是搞软件的...
LTZSMS 回答时间:2016-9-2 09:24:15
我最近也遇到与楼主一样的问题,拆下芯片量管脚对低电阻只有1K多,或者一两百欧。还有部分IO对地电阻减小,但暂时还可以用,约2,3K的样子。
楼主的问题解决了没有,可以给点参考意见不?
隨風 回答时间:2018-11-29 17:29:34
我也遇到了 外面是接的按键,一直用的好好的,突然就出现了输入脚PC13对地有500Ω的阻值。感觉应该是静电击穿了,程序继续跑没有任何问题。就PC13脚一直拉低。
Joyce丁丁 回答时间:2020-6-18 19:05:16
楼主,你是怎么解决的,我现在遇到类似的情况
Joyce丁丁 回答时间:2020-6-18 19:05:53
xin手 发表于 2018-11-29 17:29
我也遇到了 外面是接的按键,一直用的好好的,突然就出现了输入脚PC13对地有500Ω的阻值。感觉应该是静电击 ...

我用另一个国产芯片遇到跟你一样的情况,IO对地500欧,3.3V对地100R,请问你后来是怎么解决这个问题的?
lichaolichao 回答时间:2021-2-11 00:44:54
我的iic通信也出现了问题,开漏输出输出不了高电平,测量电压只有1v多,上拉电阻是2.2k。之前工作正常,电路板摔到地上一次后就变成这样了,现在只能配置成推挽输出了,不知道稳定不稳定。
lichaolichao 回答时间:2021-2-11 01:37:41
我的问题找出来了,不是io口的问题,电路板上的用于iic通信的上拉电阻摔坏了,电阻值变成了125k,过大了。我发贴片电容贴片电阻很容易受到物理冲击损坏,看来电路板需要外壳,是必需的。
sfee2002 回答时间:2021-10-18 15:32:18
我的板子也有这个现象,而且批量这样,有IO对地电阻小的,有电源间电阻小的,不知楼主问题找到没

sfee2002 回答时间:2021-10-18 15:33:26
sfee2002 发表于 2021-10-18 15:32
我的板子也有这个现象,而且批量这样,有IO对地电阻小的,有电源间电阻小的,不知楼主问题找到没

...

我的芯片是STM32F303
sfee2002 回答时间:2021-10-18 15:34:13
sfee2002 发表于 2021-10-18 15:32
我的板子也有这个现象,而且批量这样,有IO对地电阻小的,有电源间电阻小的,不知楼主问题找到没

...

我的芯片是stm32f303
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版