GPIO的上拉和下拉输入.docVIP

  • 15
  • 0
  • 约1.21千字
  • 约 4页
  • 2020-09-19 发布于山东
  • 举报
GPIO 的上拉和下拉输入 刚学习 GPIO 库文件 gpio.c 时, void GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct) 这个函数里面有一段代码: if (GPIO_InitStruct-gt;GPIO_Mode == GPIO_Mode_IPD) { GPIOx-gt;BRR = (((uint32_t)0x01) lt;lt; pinpos); } else { /* Set the corresponding ODR bit */ if (GPIO_InitStruct-gt;GPIO_Mode == GPIO_Mode_IPU) { GPIOx-gt;BSRR = (((uint32_t)0x01) lt;lt; pinpos); } } 当时一直不理解,网上有人说是为了防止内部上拉或者下拉 与 N-MOS 或者 P-MOS 形成内部回路造成功耗,这种说法个人认为是错的。通过查阅资料,给出个人解释: 输出和输入存在一个方向,在内部会有处理。管脚配制成 输入时, 输出缓冲器是断开的, 也就是说 P-MOS 和 N-MOS 已经失去作用了。这里给出 ST 的图,方便解释: 从图上可以看出,配置为 PD/PU/FLOAT 时输出缓冲器已经断开。所以,网上解释说防止内部损耗是错

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档