STM32的USART窗口通讯程序

本文介绍了基于寄存器和固件库的STM32 LED流水灯程序实现,包括创建Keil工程、配置选项以及GPIO和USART的使用。通过对比寄存器与固件库的编程差异,探讨了两者在资源占用和可移植性上的特点。
摘要由CSDN通过智能技术生成

一、基于寄存器的stm32 LED流水灯程序

基于寄存器&基于固件库的stm32 LED流水灯例子的编程方式有什么差异
固件库:资料多,简单,易于理解。如果没有CortexM系列内核的开发基础,建议从固件库开始玩起。等有一定基础,再用寄存器。
寄存器:有更好的可移植性,学习寄存器编程会比较有帮助,程序运行占用资源少。
原理图如下
在这里插入图片描述

1. 创建一个keil工程(寄存器版)

  1. 打开keil,点击Project,选择New uVision Project
  2. 选择 CPU 型号,根据开发板进行选择
    在这里插入图片描述
    3.在线添加库文件
    用寄存器控制 STM32 时,不需要在线添加库文件,可以直接关掉。
    4.添加文件
    ①添加已经存在文件
    在新建的工程中添加启动文件(startup_stm32f10x_hd.s),该文件可以先到固件库中复制到此处startup_stm32f10x_hd.s。
    ②创建新文件
    stm32f10x.h
    手动新建,用于存放寄存器映射的代码,暂时为空。
    main.c
    手动新建,用于存放 main 函数,暂时为空。
    5.配置魔术棒选项卡
    ①Target设置
    在这里插入图片描述
    ②Output设置
    在这里插入图片描述
    ③Debug设置
    在这里插入图片描述

2. 基于寄存器stm32 LED流水灯

1.寄存器的定义

寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。

2.GPIO (通用输入输出端口)

STM32 可控制的引脚。
实现代码

int main(void)
{
   
	// 配置RCC寄存器,开启 GPIOC 端口时钟配置RCC寄存器
	*(unsigned int *)0x40021
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值