STM32库的理解

在野火视频教学中,作者指出:对库的理解要从stm32f10x.h入手,因为这个库包罗万象,我们能够通过阅读,从中体会到库的美妙。


首先指出几个点,帮助大家梳理一下思路:

1、条件编译的作用是避免重复包含

2、寄存器说白了就是内存,对寄存器的操作就是对内存的操作

3、51单片机对寄存器是直接操作的,而stm32则是间接操作,如下图

           


明白了以上三点,我们就可以来揭开库的那层神秘的面纱了

因为我们对寄存器的操作,即对内存的操作,是间接的。是通过库函数来实现的,也就是说,我们伟大的库函数才是直接操作内存的舵手。我们要做的只是调用库函数接口就ok了,是不是很简单。

但是,我们还要明白,库函数的这个接口是怎么给出来的,中间都有哪些主要的内容。

简单来说,就3个内容:

第一,声明外设寄存器的结构体。说明一个外设的内存安装逻辑划分是怎么划分的,比方说,你有一亩田,一亩田哪些地方种什么粮食你要定好,比如一亩田左右分两半,左边种花生,右边种玉米。以后你有三亩田,也是这样的逻辑划分。

第二,内存映射,说白了就是起名字。村里给你分5亩田地,你根据需求分成了两份,一份2亩,一份3亩。2亩的你起个名字,“种给大儿子的”;3亩的你也起个名字,“种给小儿子”的。这个起名字,就是内存映射了。

第三,类型强制转换成结构体指针,目的是以后通过指针去访问内存的某一部分更加简单快捷。你将“种给大儿子的”这块地的地址取出来,比如说(东经115度,北纬34度),并且这些田地都是安装第一步的规划,每一亩左边花生、右边玉米的结构种植。再将这个地址起个好听的名字,比如说:大儿子。以后要找大儿子的玉米,我们就很容易找到了:大儿子->玉米。


好了,库的知识大概就总结这么多,仅供参考。




  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值