STM32实现LED闪烁

一、对于STM32F芯片的认识?STM32是一种微控制器,主要有三种类型的MCU:主流级别MCU、高性能MCU、低功耗MCU。再详细一点,我们可以具体到STM32的命名规则,比如STM32F103C8T6中的“F”,代表的就是通用型,另外还有,比如S代表的是简单型、L代表的是低功耗、H代表高性能、AL是汽车应用低功耗型、AF是汽车应用通用型。对于此次实验我们选择stm32f103c8t6芯片二丶GPIO端口。
摘要由CSDN通过智能技术生成

一、对于STM32F芯片的认识?
STM32是一种微控制器,主要有三种类型的MCU:主流级别MCU、高性能MCU、低功耗MCU。再详细一点,我们可以具体到STM32的命名规则,比如STM32F103C8T6中的“F”,代表的就是通用型,另外还有,比如S代表的是简单型、L代表的是低功耗、H代表高性能、AL是汽车应用低功耗型、AF是汽车应用通用型。

对于此次实验我们选择stm32f103c8t6芯片

二丶GPIO端口
GPIO(general porpose intput output):通用输入输出端口的简称。可以通过软件控制其输出和输入。stm32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通信,控制以及数据采集的功能。

2.初始化设置


1.打开GPIO口的时钟
 

 
  1. 将GPIOA GPIOB GPIOC三个时钟打开

  2. #define RCC_APB2ENR (*(unsigned int *)0x40021018)

  3. // 打开时钟

  4. RCC_APB2ENR |= (1<<2); // 打开 GPIOA 时钟

  5. RCC_APB2ENR |= (1<<3); // 打开 GPIOB 时钟

  6. RCC_APB2ENR |= (1<<4); // 打开 GPIOC 时钟

2.初始化

采用推挽输出模式

端口1-7为低,端口8-15为高。每个引脚由四个位控制。
以GPIOB和0号引脚(B0)为例,将其设置为推挽输出,并设置最大速度为10MHz,则将控制B0的四个位设置为0001: 

 
  1. #define GPIOB_CRL (*(unsigned int *)0x40010c00)

  2. // 最后四位变为0001

  3. GPIOB_CRL |= (1<<0); // 最后一位变1

  4. GPIOB_CRL &= ~(0xE<<0); // 倒数2、3、4位变0

  对于GPIOB的B0、GPIOC的C15、GPIOA的A0,设置如下:

 
  1. #define GPIOB_CRL (*(unsigned int *)0x40010C00)

  2. #define GPIOC_CRH (*(unsigned int *)0x40011004)

  3. #define GPIOA_CRL (*(unsigned int *)0x40010800)

  4. // 配置 GPIO 口为推免输出

  5. <

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值