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

控制引脚高低电平的实现

开发板上可以通过控制引脚高低电平的实现功能的模块:蜂鸣器、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

CSDN博客地址:http://blog.csdn.net/ourrtems

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

STM32F103程序设计-5-控制引脚高低电平的实现_第1张图片


你可能感兴趣的:(嵌入式软件)