STM32F103程序设计-5-控制引脚高低电平的实现

STM32F103 GPIO控制引脚电平教程
本文介绍了如何在STM32F103上通过GPIO控制引脚的高低电平,涉及步骤包括开启GPIO时钟、设置引脚参数以及使用寄存器直接操作。通过实例展示了给PB5置1和清0的多种方法,并解释了相关寄存器的作用。

控制引脚高低电平的实现

开发板上可以通过控制引脚高低电平的实现功能的模块:蜂鸣器、LED灯。

一.GPIO操作步骤:

1.GPIO对应时钟打开

2.设置GPIO的引脚、速度、输出模式等参数

3.引脚输出01

PB51的方法的方法有两种:

GPIOB -> BSRR = 0x0020;

GPIOB -> BSRR |= ( 1<<5);(优点,只修改某一位)

PB50的方法的方法有两种:

GPIOB -> BSRR = 0x0000;

GPIOB -> BSRR &= ~( 1<<5); (优点,只修改某一位)

 

二.熟悉相关寄存器及寄存器版实现输出电平的控制:

1.GPIOBAPB2上,使用的是APB2上的时钟,RCC模块有多个寄存器,刚刚用到的是RCC_APB2ENR寄存器。

RCC->APB2ENR |= (1<<3);

要注意RCC后面的APB2ENR在哪里定义的,要能找到。

2.端口配置低寄存器GPIOB_CTL,端口配置高寄存器GPIOB_CTH

要把20-23位变为1100,可以先让4位都为0,然后让20-21变为11

GPIOB->CRL &= ~((1<<20) | (1<<21) | (1<<22) |(1<<23));

GPIOB->CRL |= (1<<20) | (1<<21);

3.控制PB5为高

GPIOB -> BSRR |= ( 1<<5);

寄存器版编程用于标准库函数解决不了特定问题时来使用的。


By:霜月孤鸟

2017.2.21

优快云博客地址:http://blog.youkuaiyun.com/ourrtems

欢迎访问、关注单片机百宝箱!



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值