STM32学习笔记——寄存器点亮LED

参考海创电子的STM32视频。

1.寄存器地址

视频中LED连接单片机的PC13接口

GPIOC的起始地址为:0x4001 1000(也叫做GPIOC的基地址)

第1个寄存器地址为0x4001 1000(注意偏移地址)

第2个寄存器地址为0x4001 1004(每个寄存器占用4个字节)

2.寄存器配置原理

1个寄存器占用4个字节,图示方框中为引脚0的寄存器,想使小灯点亮,应该是输出模式。(图示为端口配置低寄存器,最多到引脚7,还有端口配置高寄存器)

在STM32中,每使用一个引脚就要开启对应的时钟。

点亮LED思路:

1.打开PC13对应时钟

2.配置输出,确定输出模式

3.输出低电平

 3.怎样打开对应时钟

查阅参考手册,找出时钟控制的地址。

 

 偏移地址为:0x18,所以PC13对应的地址为:0x4002 1018

(单片机认为它只是一个数值,所以需要转换成单片机能识别的地址!)

*(unsigned int*)0x4002 1018|=(1<<4);//将1左移4位

点亮小灯程序如下:

int main()
{
    *(unsigned int*)0x40021018|=(1<<4);//打开GPIO时钟
    *(unsigned int*)0x40011004&=~(0x0F<<4*5);//配置输出模式
    *(unsigned int*)0x40011004|=(1<<(4*5));
    *(unsigned int*)0x4001100C&=~(1<<13);//配置输出低电平
    while(1);
    {
    
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值