GPIO初始化配置成GPIO_Mode_Out_PP后怎么是低电平呢?

cinderella_lh   2008-8-26 15:58 楼主
我用PB14以吸收电流的方式驱动一个LED灯,下面是初始化代码:
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;        //1
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //2
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //3
GPIO_Init(GPIOB, &GPIO_InitStructure);            //4

执行完4后,LED灯被点亮,然后我量下PB14,确实是低电平,这是怎么回事儿?

回复评论 (8)

好,STM32就是有个性,但感觉这个不合理

                                  
点赞  2008-8-26 16:18

51用惯了吧……51复位后全为高。俺不管复位后是啥值,都自

                                  
点赞  2008-8-26 16:58

初始的再快也也没有复位快吧

                                 串口并初始化后发送脚是低电平,造成计算机串口接收的时候出现帧错误提示,发送完一包数据之后就ok了
点赞  2008-8-26 17:16

复位后是高阻,要设成输出前记得先设成高。

                                  
点赞  2008-8-26 17:38

没看明白楼上说的什么意思?

                                  
点赞  2008-8-27 08:46

同意7楼

                                   同意7楼:复位后STM32的IO都是输入状态(floating input)
点赞  2008-8-27 09:39

外面接上拉电阻,复位后引脚处于输入状态,这样就是高电

                                 要设置输出状态时,先将IO寄存器设置为高,再切换到输出。
点赞  2008-8-27 09:39

偶试一下

                                  
点赞  2008-8-27 10:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复