stm32 这个芯片是32位的芯片 ,功能强大,可以用来做智能机。我现在越来喜欢这个芯片,我想学好这个单片机。在学习这个单片机的同时我们一定要好好的掌握C语言c语言是嵌入的基础,我日后也会将重要的知识记载博客里,我现在正在学习这个芯片。今天我们讲解的了DMA这个东西 。我也不是很懂,当然我自己会区百度的 ,带百度中 DMA 是直接内存访问寄存器,它的功能就会代替单片机去 高速完成数据的读取的,那这个时候我们的单片机可以空闲也可以做其他的任务,开始我也不知道这个东西的具体的作用,我只是知道它是一个搬东西的寄存器,当我百度完后发现这个东西用处还是相当大的 ,现在的游戏动不动就是好几十个GB ,比如游戏中有很多是与程序运行无关的东西,游戏中的视频 等东西,完全可以让DMA这个寄存器去帮助你,不有CPU的处理是很卡的,毕竟的 电脑不是只运行这个东西,所以对于现在的智能东西来说,提高CPU的工作效率这个寄存器是需要的。
//////////////////////////////////////////////////////////////////////////////////////更新一////////////////////////////////////////////////////////////////
现在我已将智能小车全体都组装好 ,现在我们从超声波这个模块来做,其实超声波这个模块还是比较简单的 ,大家一定要知道这个东西的资料,当然这个东西的资料网络上一堆一堆的,在有就是按键电路模块也是可以做的,还有led模块和蜂鸣器这两个模块都是可以做的,超声波模块比较难点哪里需要设置定时器,其他模块都不用的 所以先将超声波模块解决掉
首先查看超声波模块的资料这一步必不可少
大家看到超声波模块的电路图其中1 、4引脚都是与电源衔接的,2是发送引脚,3是接受引脚
超声波的控制通过 2 引脚发送一个超过10 US 时间的高电平 那么在下次拉低电平的时候将会 开启超声波超声波模块将自己发送8个周期的脉冲,当接受引脚就是那个3引脚接受到的高电平 ,那么就是超声波回来了 ,这时候3引脚会持续高电平,持续的时间就是你超声波发送到接受的时间之和,注意这里是时间之和。那么这就是 超声波模块的工作的所有历程、
接下来就是用代码去控制,
、、、、算法思路是 先开启超声波模块 延时一段时间 一定要超过 10US ,直接用hal_dealy(1)就可以的 哪一个延时是1ms 之后就拉低电平,这个时候超声波模块就会工作,你必须检测超声波模块的时间,这要判断引脚3的电平直到高电平那么就是超声波回来了,一直延时就可以直到3脚变成低电平那么结束定时器,拿出定时器的定时周期,一个周期的时间与你设置的时钟分频有关系的,我的是分36 份 那就是1MHz 一个时间周期的 1US的 , 那么就好办了
下面是我写的代码 供参考
这是利用cube做的 那么 接下来我个人还会做标准代码
今天我就写到这里 下次更新会给大家继续带来。