0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > STM32F407[0] 准备工作

STM32F407[0] 准备工作

来源: zhihu
2021-12-07
类别:基础知识
eye 7
文章创建人 拍明

原标题:STM32F407[0] 准备工作

  单片机,或者说Microcontroller(微控制器),简而言之,一个特别小的计算机,包括了完整的CPU、内存等等。题图上有ARM字样的就是一个单片机,直观上也能感受的到它的体积非常小,相比于你的个人电脑而言。当然,小的话速度也很差劲,图上的片子主频只有168MHz,大致只有一台个人计算机的几十分之一。

  WHY MCU?

  我们做事情是有思路的,这个毋庸置疑。无论是快乐游戏还是写代码,无论是学习考试还是吃饭运动。对应地,去控制实际中的设备,依然有着一套思路,例如你可能会想出下面的思路来解决寝室空调的温度问题,我们用框图画一下:

  

简单的闭环控制框图


  看着还是挺简单的,或者你会说我想拿这个思路来控制电机:

  

FOC控制框图


  感受一下?是不是觉得后者简直一下子就起飞,困难一百倍?如果说前者你能使用简单的放大器来解决掉,那么后者我想就会改变想法了。我们需要一个工具,一个媒介,来把我们的思路变成现实,而且它要简单,适合人类使用。

  说到这,应该会很自然的想到——我们表达思路最自然的方式就是你现在看的你内容:自然语言。但是很遗憾,现代计算机还做不到理解透彻自然语言,而用自然语言表述思路也有点令人痛苦(你可以尝试描述下上面的两个框图)。为了打破掉这个鸿沟,聚聚们从机器语言开始抽象,设计出了不反人类且能被计算机解析的程序语言。因此,我们要实现自己想法的方式就变成了这样:

  


  程序语言像一个桥梁,一个工具,链接着人的想法和机器。能执行程序语言(严格来说,是翻译过后的程序语言,这就不纠结细节了)的机器一般情况就是我们的计算机。这个大家早已司空见惯,例如现在让你看到这些文字的程序,应该就在你的手机或者电脑上运行着。类似滴,之前去控制温度的家伙,或者是控制电机的东西,也可以变成一段程序,在电脑上跑。而绝大多数时候,它们都是这样写成程序来实现的,例如在某度上找到的电机驱动器:

  

图片来自百度:BLDC驱动板


  它有电脑吗?或者说,把平时用的电脑放到上面合适吗?那必然不合适,一来太大了,二来控制它们是相对于简单的,没必要上这种性能超猛的计算机。我们需要一个小、性能低但是够用、能配合电路工作的计算机。而这个,就是一直说的单片机。

  它足够小,能承载我们的思路,来控制或者说做其它有趣的事情。这就是为什么需要它的原因的直观解释。当然,我们一直没有强调它的性能,这意味着它的性能似乎并非那么重要——因为控制一个电机,和跑游戏还是不一样的。

  LET'S READY!

  如果是我,我现在已经有点让电机转起来的想法了,或者一些其它点子。考虑到这个小系列的主要目的是娱乐,因此我们以玩为主。例如,我们可以拿它,接上一个显示屏来绘制一些有意思的内容:

  

一维元胞自动机生成的分形图


  在开始之前,你需要有一块单片机......以及...

  单片机只是一块芯片,光一块芯片肯定是不行的。我们需要一些外围元件,让它工作起来。能够刚刚好让它工作起来的电路被称作最小系统,它们一般是这样的:

  

最小系统示意图


  我们的单片机就是中间的黄色背景框。可以看到,除了这个芯片外,还有一个电池(蓝色框)、一个怪TT(红色框)、一个小开关(绿色框)。电池毋庸置疑的,没有电源用个屁,页首的那个芯片怎么看也不像能给自己供电的样子。红色框中的部分是配合单片机产生一系列的脉冲。这个就像人的心跳,会让单片机稳步运行起来。原谅色框是复位用的,不是开关机用的。复位,简而言之就是强制重启,当程序崩了,或者各种奇怪的原因,单片机不再正常工作,我们就强制重启一下(当然,上电瞬间也是会重启一次的,可以考虑下那个电容C1上的电压变化情况)。

  目前为止,我们还没有解决一个重要的问题——我们说单片机上会跑我们的程序,但是怎么把程序给它呢?很显然,那么小个家伙直接在上面写代码很不现实,我们应该选择在自己的电脑上写,然后把写好的程序传给它。也就是这样的:

  


  这个工具就是我们常说的下载器。有些下载器很高级,可以反过来和电脑“交互”(例如下文说的ST-LINK就可以这样),能让电脑上的开发环境读取到单片机内的情况。而有一些很差劲,只能下载程序。

  BUY IT!

  开发单片机的工具肯定是去网上下载。但是单片机总不能下载一个吧。一般来说我们常用的包括C51、MSP430、STM32三个类别的单片机,这次为了好玩,我们选择STM32F407这个型号,一来是32公认的比较难,想想就刺激,二来是因为它性能很好,所以我们的程序可以做得更复杂,而不局限于点个灯就完事了。

  在STM32的厂家意法半导体的官网上,我们能找到这样的一个开发套件:

  STM32F407 Discoverywww.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-mpu-eval-tools/stm32-mcu-mpu-eval-tools/stm32-discovery-kits/stm32f4discovery.html它在国内的一些商家处有售,价格在150元附近。为什么我选择它呢?因为它包括下载器了,是的,就这么简单的原因。链接有完整的资源介绍,大致包括一个麦克风、一个音频DAC、几个LED、USB-OTG和ST-LINK,并且,芯片管脚全部引出。

  当然,我们之前提到的最小系统也包括在内。

  当然你可以自己选择一块自己喜欢的板子

  HOW TO USE

  板子到手之后,我们面临的问题就有三——第一是怎么拆开它拿到板子。。这个不包括在本文内容内。。第二是怎么把它接到电脑上,最后是如何开发使用它。如果正确完成了第一步,即把它拆开,应该就能看到下面的这块板子:

  

STM32F407 Discovery Kit


  凭着直觉,我们需要一根合适的usb线,把它连接到电脑的USB口(不知道什么是USB口的自觉面壁。。就是我们平时插U盘的口)上。注意两边引出的排针,它们是可以插电线的。但是,它们是有电的(大概3.3V~5V),这意味着你不能把它放到金属桌面上,不然可能造成短路烧掉板子。

  把上图标着接电脑的那个口,找根线插到你的电脑上,正常情况下,你会听到:“等灯”。

  打开Windows资源管理器:

  

插到电脑上的效果


  到这里就说明你成功一大半了。同时,板子上的灯是可以看到亮的。至此,基本说明买来的板子没问题了。

  SUMMARY

  单片机通俗来说就是个很小的电脑

  单片机可以更好的嵌入到生活中的物品里面,去控制它们,或者实现其它很酷的功能

  我们的想法先变成程序语言,再变成机器能看懂的语言,交给机器执行。这个机器一般就是我们的电脑

  我们的想法在电脑上写好,然后通过下载器,刷到单片机上执行

  单片机只是一块芯片,它需要一些外围电路才能工作,刚好能让它正常工作起来的是最小系统

  未解决的问题:

  怎么开发?拿什么开发?

  板子上的其它部分是做什么的?如何使用它们

  如何拿它做更多有意思的事情

  欲知后事如何~且听下回分解,或者去听百度怎么讲:

  F.A.Q.

  所以电池在哪里?我们说的电池其实是电源,电源它不局限于电池,比如你的手机充电器也是个电源。当然,在这个板子插到电脑上时,电脑就是它的电源。

  奇怪的TT具体是什么?石英晶体谐振器和它的外围电路(两个电容)

  这个407的板子有最小系统吗?当然有,不然怎么可能会跑起来。这个板子比最小系统的内容要多得多,因此看起来一大块

  (想到/被问到再补充)


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: STM32F407

相关资讯