STM32端口配置

1.打开端口时钟(以点亮一盏灯为例)

        (1)找出灯的控制口

            

            

        (2)找到端口所在的时钟(此处是PB5,所以找GPIOB所在的端口时钟)

            

        (3)打开端口GPIOB。

           原来GPIOB在APB2总线上,即在APB2上才能给GPIOB使能。已经得出GPIOB在APB2上,打开端口GPIOB。具体操作:RCC->APB2ENR |=1<<3;

             

                         

2.配置的输入输出方式。

            前面已经打开了PB口,要配置PB5的输入输出方式,要具体操作如下:

           GPIOB->CRL &=0XFF0FFFFF;    //LED0为输出的,故MODE5[1:0]=11;又点灯要么0要么1,因此设置为推挽输出,故CNF5[1:0]=00

           GPIOB->CRL |=0X00300000;   //在设置前先对CNF5,MODE5清零,其他位不变。 

   另外,如果PB5接的是按键,即输入的话,代码如下:

           GPIOB->CRL &=0XFF0FFFFF;   //LED0为输入的,故MODE5[1:0]=00;若采集按键状态要么0要么1,因此设置为上下拉,故CNF5[1:0]=10                       

           GPIOB->CRL  |=0X00800000;  //在设置前先对CNF5,MODE5清零,其他位不变。

 

                             

3.配置初始化输入输出电平

      a.将输出电平拉高:GPIOB->ODR |=1<<5;     //具体需要拉低还是拉高看硬件以及达到的效果

      b. 将输出点平拉低:GPIOB->ODR  &=~(1<<5);

  另外,如果PB5接的是按键,即输入的话,同样也需要对输出初始化。若要读取输入值则为:GPIOE->IDR & 1<<5

      

  • 10
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值