我有一个控制p通道mosfet的引脚可以打开/关闭电源总线。上面有一个上拉,当引脚为高阻抗或输出电流时,总线关闭,当吸收电流时开启。
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_14;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_SetBits(GPIOD, GPIO_Pin_14); //pin will be high immediately on init
GPIO_Init(GPIOD, &GPIO_InitStructure);
如果我能这样做的话,公共汽车就会停下来。如果我必须在GPIO_Init之后设置引脚状态,它似乎会有几纳秒或几微秒的下沉电流,暂时打开总线:
GPIO_Init(GPIOD, &GPIO_InitStructure); //PP, low state, sinking current, bus is on
GPIO_SetBits(GPIOD, GPIO_Pin_14); //now bus is off again
有没有关于此的文件?
编辑:我刚刚意识到我应该使用开漏,但这个问题仍然适用。
答案 0 :(得分:4)
您可以在完成引脚初始化之前安全地设置引脚的状态。设置引脚的状态只是在某些寄存器(ODR)中设置一些位,如果未配置引脚则不执行任何操作。
是的 - 你应该使用开放式排水模式。
请注意,这不适用于RCC初始化,因为在RCC中启用时钟之前,您无法修改GPIO寄存器。