STM32F103的流水灯点亮版本1(寄存器地址操作)


STM32F103C8T6的GPIOx端口的各寄存器地址和详细参数

1.STM32F103C8T6的GPIOx端口的各寄存器地址

对于STM32F103C8T6,每个GPIO端口都有一组寄存器,用于配置和控制该端口的功能。以下是GPIOx端口的寄存器地址和详细参数的简要概述:

GPIOA寄存器地址和详细参数:

GPIOA寄存器基地址:0x4001 0800
GPIOA输入数据寄存器(IDR):GPIOA + 0x08
GPIOA输出数据寄存器(ODR):GPIOA + 0x0C
GPIOA数据方向寄存器(DDR):GPIOA + 0x10
GPIOA配置寄存器低(CRL):GPIOA + 0x00
GPIOA配置寄存器高(CRH):GPIOA + 0x04
GPIOB寄存器地址和详细参数:

GPIOB寄存器基地址:0x4001 0C00
GPIOB输入数据寄存器(IDR):GPIOB + 0x08
GPIOB输出数据寄存器(ODR):GPIOB + 0x0C
GPIOB数据方向寄存器(DDR):GPIOB + 0x10
GPIOB配置寄存器低(CRL):GPIOB + 0x00
GPIOB配置寄存器高(CRH):GPIOB + 0x04
依此类推,对于其他GPIO端口,地址和寄存器的结构是类似的。

每个GPIO端口具有相同的寄存器结构,包括输入数据寄存器(IDR)、输出数据寄存器(ODR)、数据方向寄存器(DDR)和配置寄存器(CRL和CRH)。这些寄存器的具体功能如下:

输入数据寄存器(IDR): 该寄存器用于读取端口的输入电平状态。
输出数据寄存器(ODR): 该寄存器用于设置端口的输出电平状态。
数据方向寄存器(DDR): 该寄存器用于配置端口的引脚方向,可以设置为输入或输出。
配置寄存器(CRL和CRH): 这些寄存器用于配置引脚的具体功能(例如模式、速度、上拉下拉等),每个引脚对应一个位字段,可以单独配置。
详细的配置寄存器位定义和相关设置可以在STM32F103的参考手册中找到,手册提供了每个寄存器的位字段和功能描述,以及推荐的设置值。请务必参考官方文档来获取最准确和最新的信息。

2.STM32F103C8T6的电路原理图

在这里插入图片描述

二、C语言代码实现(Keil)

1.创建新文件并使用STM32F103C8芯片
在这里插入图片描述
2.在创建的工程中添加startup_stm32f10x_md.s文件
在这里插入图片描述
3.创建main.c文件并便编写程序
在这里插入图片描述在这里插入图片描述
4.选择输出.hex文件
在这里插入图片描述
5.进行编译并输出.hex文件
在这里插入图片描述

三、Proteus软件仿真

1.创建并画出仿真

此处使用的是STM32F103C6芯片,可正常使用
在这里插入图片描述
加入LED灯
在这里插入图片描述

2.画出仿真图

在这里插入图片描述

3.配置电网

在这里插入图片描述

4.导入HEX文件

在这里插入图片描述

5.运行结果

嵌入式1 - Proteus 8 Professional

四、实物演示

1.实物连线

实物连接时需对应好每个引脚的位置,否则会导致实物板无法正常运行
连接引脚:
VCC-3V3
3V3-PA10
RXD-PA9
GND-GND
红灯-PB0
绿灯-PA0
黄灯-C15
将相应的引脚连接成功后即可开始烧录
在这里插入图片描述

2.烧录

在这里插入图片描述
在这里插入图片描述
在此处需要选择DTR的低电平复位,RTS高电平进BootLoader
然后点击开始编程

3.运行结果

VID_20230926_170227

总结

这是我第一次进行有关STM32的比较全面的编程。在编程过程中还有着不小的困难。在学习之前就要了解STM32的芯片系列,引脚功能、外设和时钟等功能。了解如何设置开发环境,选择合适的开发工具如(Keil MDK或STM32CubeIDE)、如何创建和配置项目,以及如何下载和调试代码。烧录工具也有着不熟悉的问题。在串口以及跳线上还不熟悉。总体来说,在STM32上还有着较大的困难,还要继续学习。

参考

STM32 F103之点亮LED流水灯 (STM32入门学习)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值