[mw_shl_code=c,true]//LED IO初始化
void LED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOF, ENABLE);//使能GPIOF时钟
//GPIOF9,F10初始化设置
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;//LED0和LED1对应IO口
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;//普通输出模式
// GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
//GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉
GPIO_Init(GPIOF, &GPIO_InitStructure);//初始化GPIO
GPIO_SetBits(GPIOF,GPIO_Pin_9 | GPIO_Pin_10);//GPIOF9,F10设置高,灯灭
}
[/mw_shl_code]
为什么上面程序我把推挽输出改为开漏输出后,流水灯还正常工作? 不是说开漏输出在没有外接上拉电阻时不能输出高电平吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
你这里改为开漏,并没有阻止LED不亮。。。。
---------------------------------
LED不是一直亮着的,而是一直在闪结果和例子一样。那开漏输出没上拉不能输出高电平那为什么会一直闪呢。
---------------------------------
因为LED不靠高电平亮,低电平亮,低电平的时候,电压从电阻端来。。。
你这电路分析能力太弱了。。。
一周热门 更多>