sinat_31267743 2021-09-20 03:32 采纳率: 100%
浏览 791
已结题

STM32 低功耗唤醒 WKUP_Init(void)中PA0为什么要设为上拉输入?

void WKUP_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
EXTI_InitTypeDef EXTI_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO, ENABLE);//使能GPIOA和复用功能时钟

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_0;     //PA.0
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_IPD;//上拉输入
GPIO_Init(GPIOA, &GPIO_InitStructure);    //初始化IO
//使用外部中断方式
GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource0);    //中断线0连接GPIOA.0

明明电路是下拉电阻为什么特意将PA0设置成上拉

  • 写回答

1条回答 默认 最新

  • 嵌入式单片机实验室 优质创作者: 嵌入式与硬件开发技术领域 2021-09-20 10:48
    关注

    因为单片机复位后引脚默认低电平,这就导致永远进不了低功耗模式。
    需要将外部中断设置上升沿,这样才能使用下拉做唤醒

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月30日
  • 已采纳回答 9月22日
  • 创建了问题 9月20日