PB5一直输出高电平,不法输出低电平

2019-07-20 23:30发布

void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure1;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

GPIO_InitStructure1.GPIO_Pin = GPIO_Pin_5;
GPIO_InitStructure1.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure1.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure1);
}

void LED_Open(uint8_t status)
{
if(status)
GPIO_SetBits(GPIOB, GPIO_Pin_5)

else
GPIO_ResetBits(GPIOB, GPIO_Pin_5);

}
int main(void)
{
    delay_init();
    LED_Init();

     while(1)
    {
          LED_Open(1);
         delay_ms(500);
          LED_Open(0);
          delay_ms(500);
    
}
}
灯是共阳的,为什么灯不灭啊,之前拿这个口来控制舵机(http://www.openedv.com/posts/list/0/58052.htm?privmsg=39618&&sysid=4#330318  这是之前的帖子),后来突然就不行了,示波器上的波形很乱,是不是芯片被我搞坏了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
22条回答
wszdxmh
1楼-- · 2019-07-22 18:54
回复【13楼】lycreturn:
---------------------------------
不是灯的问题,代码改成其他的口就可以,如PB6什么的,灯是可以闪烁的。不知道什么问题啊
wszdxmh
2楼-- · 2019-07-22 21:55
有可能出现只坏一个IO口而TIM3可以用,芯片不坏的情况吗?
Theone
3楼-- · 2019-07-23 02:34
 精彩回答 2  元偷偷看……
laidaihua
4楼-- · 2019-07-23 07:40
这个引脚如果误接过有限流的高电压上,是有可能会造成对VCC的保护二极管击穿短路的;或者是该引脚输出高电平但又长时间短路到地了,也会导致推挽输出的上管烧毁短路。表现都是输出始终为高,不受指令控制。。
wszdxmh
5楼-- · 2019-07-23 11:42
 精彩回答 2  元偷偷看……
laidaihua
6楼-- · 2019-07-23 12:55
在引脚输出串一个1K的电阻再接到外部设备上就不容易坏了。当然,如果输出的电流较大就不合适了。。

一周热门 更多>