`
anlx27
  • 浏览: 491406 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

stm32 GPIO配置以及什么时候用 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

阅读更多

问题一:配置GPIO的步骤

 

现在做一个最简单的GPIO控制LED的 GPIO初始化

 

(1)初始化结构体

        GPIO_InitTypeDef GPIO_InitStructure;

 

(2)使能相应的时钟(程序最初应该有#define RCC_GPIO_LED  GPIOB 或其他组端口)
        RCC_APB2PeriphClockCmd(RCC_GPIO_LED  , ENABLE);  

 

(3)对GPIO结构体初始化。

        GPIO结构体:

      typedef struct
     {
       uint16_t GPIO_Pin;    //选择管脚,是你想用到的管脚       

       GPIOSpeed_TypeDef GPIO_Speed;  //选择速度 可选2M  10M  50M

       GPIOMode_TypeDef GPIO_Mode;  //输入输出的8种模式,这要根据外电路和作用选择 

     }GPIO_InitTypeDef;


      /* LEDs pins configuration */
         GPIO_InitStructure.GPIO_Pin = GPIO_LED_ALL;
         GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
         GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  //LED 一般就选推挽输出了
         GPIO_Init(GPIO_LED, &GPIO_InitStructure);

 

 

 

问题二: 什么时候用 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;

 

        

            GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_IPU;IPU是指IO口的工作模式是带上拉输入,这个和具体的电路有关,总之如果选择某个IO口作为外部中断的触发信号,就必须配置这个IO口为输入模式,不然无法触发中断

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics