基于STM32F103用寄存器方式点亮LED流水灯

本文介绍了基于STM32F103的GPIO端口寄存器配置,通过C语言编程实现LED流水灯效果。详细讲解了GPIO端口的配置,包括低寄存器和高寄存器的设置,以及C语言编程实现LED的控制。还涵盖了实物连接和程序烧录的过程,最后进行了实验总结。
摘要由CSDN通过智能技术生成

目录

一、GPIO相关

(一)、GPIO简介

(二)、GPIO端口寄存器配置

二、程序设计

三、C语言编程

四、实物连接展示

(一)、烧录程序

(二)、实物连接

(三)、结果展示

五、总结

六、参考文献


 

一、GPIO相关

(一)、GPIO简介

       GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片
的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。
STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚,如型号为 STM32F103VET6 型号的芯片有 GPIOA、GPIOB、GPIOC至 GPIOE共 5组 GPIO,芯片一共 100个引脚,其中 GPIO就占了一大部分,所有的 GPIO 引脚都有基本的输入输出功能。
       最基本的输出功能是由 STM32 控制引脚输出高、低电平,实现开关控制,如把 GPIO
引脚接入到 LED灯,那就可以控制 LED灯的亮灭,引脚接入到继电器或三极管,那就可以
通过继电器或三极管控制外部大功率电路的通断。
       最基本的输入功能是检测外部输入电平,如把 GPIO 引脚连接到按键,通过电平高低
区分按键是否被按下。

 

(二)、GPIO端口寄存器配置

本次实验选择的是PA0,PB0,PC15口,PA和PB选择就要选择CRL端口低八位寄存器,PC15就要选择CRH端口高八位寄存器。所以在配置PC15的寄存器时要配置GPIOC的输入地址选择为0X40011004,输出地址CDR要选择为0X4001 100C。

 GPIO 端口配置低寄存器:

GPIO 端口配置高寄存器:

二、程序设计

首先需要进行宏定义,本次实验设计用的是GPIOA_0、GPIOB_0、GPIOC_15口进行输出。

#define RCC_APB2ENR (*(unsigned int*)0x40021018)
#define GPIOA_CRL (*(unsigned int*)0x40010800)
#define	GPIOA_ODR (*(unsigned int*)0x4001080C)
#define	GPIOB_CRL (*(unsigned int*)0x40010c00)
#define GPIOB_CRH (*(unsigned int*)0x40010C04)
#define	GPIOB_ODR (*(unsigned int*)0x40010C0C)
#define GPIOC_CRH (*(unsigned int*)0x40011004)
#define	GPIOC_ODR (*(unsigned int*)0x4001100C)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值