打印
[STM32F4]

STM32F4 的IO 忽然坏了

[复制链接]
4631|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 wanta.nie 于 2016-3-19 21:59 编辑

板子在客户那边工作了一段时间后发现STM32F407 的输入口出现了不工作的情况,共使用了16个IO口,发现8个出现故障,正常IO口测量电压都上拉到了3.3V , 故障的IO口测量电压只有 1.1V 左右,断开光耦引脚,替换电阻电容,故障不变,可以肯定是STM32F407 的IO输入出了问题,上拉不到 3.3V ,只有1.1V, 不知道什么原因怀疑是STM32F4 的IO脚坏掉了,可是将IO脚配置成输出后,控制高低电压又似乎是可以控制的,非常疑惑,不知道有朋友知道原因吗?

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

static LIP_t LIP[] =
{
        {GPIOE, GPIO_Pin_4},  // LI0 :PE4
        {GPIOE, GPIO_Pin_5},  // LI1 :PE5
        {GPIOE, GPIO_Pin_6},  // LI2 :PE6
        {GPIOC, GPIO_Pin_13}, // LI3 :PC13
        {GPIOC, GPIO_Pin_14}, // LI4 :PC14
        {GPIOC, GPIO_Pin_15}, // LI5 :PC15
        {GPIOC, GPIO_Pin_0},  // LI6 :PC0
        {GPIOC, GPIO_Pin_1},  // LI7 :PC1
        {GPIOC, GPIO_Pin_2},  // LI8 :PC2
        {GPIOC, GPIO_Pin_3},  // LI9 :PC3(手轮 10X)
        {GPIOA, GPIO_Pin_0},  // LI10:PA0(手轮 A)
        {GPIOA, GPIO_Pin_1},  // LI11:PA1(手轮 B)
        {GPIOA, GPIO_Pin_2},  // LI12:PA2(手轮 100X)
        {GPIOA, GPIO_Pin_4},  // LI13:PA4(手轮 X轴)
        {GPIOA, GPIO_Pin_5},  // LI14:PA5(手轮 Y轴)
        {GPIOA, GPIO_Pin_6}   // LI15:PA6(手轮 Z轴)

};

void lip_init(void)
{
        // GPIO clock enable
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOE, ENABLE);
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

        GPIO_InitTypeDef GPIO_InitStructure;

        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_25MHz;
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;

        for(int i=0; i < 16; i ++)
        {
                GPIO_InitStructure.GPIO_Pin = LIP.pin;
                GPIO_Init(LIP.port, &GPIO_InitStructure);
        }
}


4个输入IO引脚接口电路图如下:
https://bbs.21ic.com/forum.php?mod=attachment&aid=NjEwMzM2fGE4Y2I1Y2I2ODNhOGYwODUyYjk5YWZkYTY4N2UwNmZlfDE3MTk5ODgwMjc%3D&request=yes&_f=.png





QQ图片20160318214105.png (50.77 KB )

QQ图片20160318214105.png
沙发
500days| | 2016-3-18 23:52 | 只看该作者
芯片还能工作吗,晶振能起振吗

使用特权

评论回复
板凳
mmuuss586| | 2016-3-19 09:08 | 只看该作者

程序就这么几句啊?
都没有设置哪个引脚的?

使用特权

评论回复
地板
wanta.nie|  楼主 | 2016-3-19 21:52 | 只看该作者
本帖最后由 wanta.nie 于 2016-3-19 22:00 编辑

主贴已经编辑

使用特权

评论回复
5
zhuotuzi| | 2016-3-20 00:08 | 只看该作者
芯片内部有上啦电阻吧,另外如果真是不小心灌入了强大的电流烧毁IO内部的电路也是正常的。

使用特权

评论回复
6
ofsummer| | 2016-3-20 07:46 | 只看该作者
可能你的外部有电流灌进IO啊

使用特权

评论回复
7
52wm| | 2016-3-20 20:43 | 只看该作者
很明显,STM32输入边被拉到0V了,应该是程序问题

使用特权

评论回复
8
迪卡| | 2016-3-20 20:51 | 只看该作者
程序有改动吗,复位会好吗

使用特权

评论回复
9
Thor9| | 2016-3-20 22:19 | 只看该作者
是不是静电击坏了IO

使用特权

评论回复
10
wanta.nie|  楼主 | 2016-3-21 21:22 | 只看该作者
本帖最后由 wanta.nie 于 2016-3-21 21:25 编辑

板子重新上电,涛声依旧啊,程序也没动过,难道真是IO被静电什么的极坏了?
3.3v*4.7k/14.7k = 1.05v 确实是stm32 io 被下拉到了0V , 可是不知道什么原因被下拉的,
IO被静电或者强电流击坏后,会这样吗?

使用特权

评论回复
11
chijt| | 2016-3-21 21:48 | 只看该作者
程序问题吧 运行到某段程序时io输出0了

使用特权

评论回复
12
wanta.nie|  楼主 | 2016-3-21 21:52 | 只看该作者
chijt 发表于 2016-3-21 21:48
程序问题吧 运行到某段程序时io输出0了

板子一直在用的,忽然就这样了,刚用万用表测量了IO对地的电阻值,发现故障的IO变成 400欧姆左右,
好的IO脚对地电阻很大,所以,应该是 IO脚损坏了,只是不知道损坏的原因

使用特权

评论回复
13
maiweiqi| | 2016-3-22 08:37 | 只看该作者
这个不清楚,关注一下

使用特权

评论回复
14
598330983| | 2016-3-22 11:39 | 只看该作者
那个表情都是什么内容,谁能告诉我

使用特权

评论回复
15
wanta.nie|  楼主 | 2016-3-22 14:01 | 只看该作者
598330983 发表于 2016-3-22 11:39
那个表情都是什么内容,谁能告诉我

// PE4
// PE5
// PE6
.
.
.

使用特权

评论回复
16
wanta.nie|  楼主 | 2016-3-22 14:02 | 只看该作者
有朋友遇到过这个情况吗?指点一下 感激不尽

使用特权

评论回复
17
玄德| | 2016-3-22 14:23 | 只看该作者

损坏的可能性比较大。

是否有外界强干扰进入了?
做下保护吧。

使用特权

评论回复
18
598330983| | 2016-3-22 14:44 | 只看该作者
可能是坏掉了,看看板子焊接时候是不是IO口过热搞坏了。

使用特权

评论回复
19
wanta.nie|  楼主 | 2016-3-23 10:54 | 只看该作者
598330983 发表于 2016-3-22 14:44
可能是坏掉了,看看板子焊接时候是不是IO口过热搞坏了。

板子焊接后软件硬件通电测试过,在客户那边用了个把星期这样,应该不是焊接损坏,怀疑是静电什么的

使用特权

评论回复
20
wanta.nie|  楼主 | 2016-3-23 10:55 | 只看该作者
玄德 发表于 2016-3-22 14:23
损坏的可能性比较大。

是否有外界强干扰进入了?

外部24V都是经过光耦隔离的,核心电路都是3.3V

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

12

帖子

1

粉丝