三、配置寄存器点亮小灯

配置寄存器点亮PC13灯(配置三个寄存器)

1.配置RCC寄存器,使能GPIOC时钟

在这里插入图片描述
如图,所有的GPIO总线都是APB2的外设
在这里插入图片描述
图中的IOPCEN这一位就是使能GPIOC的时钟的,
在这里插入图片描述
如图, 位4写1使能GPIOC的时钟(其他位都写0)
整个寄存器的2进制数据换成16进制(4个一分组),00000010
RCC->APB2ENR=0x00000010;//打开GPIOC的时钟

2. 端口配置高寄存器(GPIOx_CRH),配置一下PC13口的模式

在这里插入图片描述
GPIOC->CRH=0x00300000;//配置PC13口的模式

3. 端口输出数据寄存器(GPIOx_ODR),给PC13端口输出数据

在这里插入图片描述
GPIOC->ODR=0x00002000;//给PC13端口输出数据
PC13小灯低电平点亮,GPIOC->ODR=0x00000000点亮,GPIOC->ODR=0x00002000灭

下面是用两种开发模式点亮小灯的代码

寄存器开发方式
//	通过配置寄存器点亮PC13灯,查手册找寄存器的每一位的作用
//	优点:代码简洁
//	弊端:将除了pc13之外的位都配置成了0,会影响其他端口的原有配置。想要不影响其他端口的原有配置,需要&=和|=的操作,麻烦
RCC->APB2ENR=0x00000010;//打开GPIOC的时钟
GPIOC->CRH=0x00300000;//配置PC13口的模式
GPIOC->ODR=0x00002000;//给PC13端口输出数据,PC13小灯低电平点亮,GPIOC->ODR=0x00000000点亮,GPIOC->ODR=0x00002000灭
库函数开发方式
//1.使能时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//右键打开函数定义,看函数功能和可选的参数值
//2.配置结构体变量
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
//3.配置端口模式
GPIO_Init(GPIOC,&GPIO_InitStructure);
//4.配置引脚的高低电平
GPIO_SetBits(GPIOC,GPIO_Pin_13);//高电平
//GPIO_ResetBits(GPIOC,GPIO_Pin_13);

//补充:使用库函数可以在程序中打开.h文件,翻到文件的最后可以查看都有哪些函数,右键查看函数定义,查看函数的用法和参数等,或者打开参考手册参考。
  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值