| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> 【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲 -> 正文阅读 |
|
[嵌入式]【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲 |
【STM32】STM32标准库与HAL库对照学习教程一--使用寄存器操控LED闪烁详讲前言 本教程文章是我在学习STM32标准库和HAL库后写的,想通过标准库与HAL库的对照学习加强我对STM32的理解与使用,让自己对STM32的认识不只会停留在表面,出文章的目的是为方便自己记录以及相帮助跟多的人学习单片机,本篇文章先介绍寄存器的使用,在以后的章节中会使用库函数开发,有问题的地方希望大家在评论区指出。 前期准备 所需文件百度网盘链接:https://pan.baidu.com/s/1bYdnK9j6b8ze4wAFs0FRdQ keil软件的安装网上有很多,这里我就不过多介绍了。 一、新建工程 1、打开keil5,点击左上方Project,选择New uVision Project,文件自己命名,点击保存,我这里是已建好的文件。
3、点击Cancel退出 二、寄存器讲解 1、什么是寄存器映射 stm32f103芯片总共有4个G的内存,内存被分为了8块,每块具有512M的内存,分别被分配了自己的功能地址。
2、寄存器的程序控制
由于STM32是32位处理机,因此在地址中取出的值是32位,后面会继续讲到。 三、使用寄存器配置引脚 1、STM32引脚的说明 2、LED原理图 3、LED1引脚配置
基地址是RCC的范围首地址0x4002 1000,偏移地址是0x18。
(2)PB5引脚(B类第5引脚)功能配置
从上图这里可以知道B类引脚的首地址(基地址)是0x4001 0C00
为什么引脚寄存器会有低寄存器和高寄存器之分呢?
(3)配置PB5引脚(B类第5引脚)输出低电平
由上图可以看出,取出数据的第5位是PB5,让这个为置0就可以让PB5引脚输出低电平。
到这里引脚的寄存器配置算讲完了。 4、整体程序 (1)延时函数
(2)初始化空函数
这个是启动文件运行使要调用的函数,必须要,在后面章节使用库函数时,其它文件有,但在本节课程里,必须要在main.c文件中给出。
5、程序烧入 (1)配置生成hex文件 到此寄存器配置的介绍基本讲完,接下来正式进入标准库与HAL的对照学习中,后面会进行更新。 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:18:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |