电工之家_电工基础知识学习网站
当前位置:电工之家 > 电工知识 > 单片机 > 正文

stm32学到什么程度叫精通

时间:2019-02-13 14:59 来源:电工之家

首先、掌握单片机的硬件电路设计是基础
单片机电路设计是基础,尽管现在单片机已经进化到SoC的阶段,大部分常用功能模块单片机已经集成了,比如、USB、CAN、LAN、LCD、Camera等等,但是仍然需要搞清楚电路逻辑和代码之间的接口逻辑,比如、模块的地址、如何给模块上电、断电、复位、打开/关闭等。如果你的团队软件和硬件是分开的,那么你的电路设计需要输出一个软硬件接口文档给到软件工程师,通过这个文档,软件工程师能够顺利实现Driver层代码设计。

其次、掌握单片机编程是灵魂
如果说硬件是一个产品的执行机构,那么软件程序就是一个产品的大脑,代表了一个产品的灵魂,我们通常说一个产品不好用不人性化,最多的原因是软件设计方面的问题,硬件也有,但是相比软件方面的设计缺陷要少的多。因此,一个良好的单片机软件设计是一个产品的重中之重。
那么如何STM32软件编程呢?采用倒推来罗列一下:
掌握C语言程序设计,主要用到的是C语言,掌握C语言设计必不可少。
掌握软件编程开发环境的使用方法,比如Keil和IAR的集成开发环境,通常我们代码就是在集成开发环境中编写的,包括代码编写、编译、调试等等。
掌握软件调试方法,可以说软件调试占据了软件开发绝大部分时间。调试器的熟练使用是软件代码排除Bug的利器。通常语法方面的错误编译器在编译阶段可以给我们提示,不符合C语言语法就编译不过去。但是代码编译过并不代表就符合实际项目需求,比如逻辑上是否正确、时序上是否满足要求、指针有没有越界等等问题必须在代码实际运行的时候才会表现出来。Bug的定位分析,通常需要分析软件执行的过程和时序,调试器进行单片跟踪调试就成为必不可少的利器。
调试工具可以使用集成开发环境自带的调试器配合ST出品的ST-link系列进行。

第三、根据实际项目需求进行选型并编程实现项目需求是目的
掌握了硬件和软件设计,可以根据项目需求进行项目开发了。根据项目原始需要说明文档并对原始需求说明文档进行分析,输出可以满足项目需求的初步的设计文档。这其中就包括单片机选型,软件设计等。选择性能过剩的单片机,必然会带来成本的增加。当然这不是定死的条件,通常考虑性能、成本、公司的归一化采购等等问题。

最后、高手进阶永远在路上
高手分为狭义上的高手。
狭义上的高手,比如你就只是想成为,一个harder或者coder,那么你只需要学习硬件电路设计技术即可,比如,EMC/EMC、高速电路设计和电路稳定性等,或者掌握熟练掌握C语言编程技术、编程算法、嵌入式系统编程等等。
广义上的高手会再进一步,了解具体领域的发展动态,比如,机器人、无人机、机器学习等等,并根据领域的发展、新事物的出现补充新的知识。

看过《stm32学到什么程度叫精通》的人还看了以下文章
c语言模电数电没学可以直接学stm32单片机吗 c语言模电数电没学可以直接学stm32单片机吗
个人觉得还是要掌握一点基础知识才能开始学。从硬件和软件两个方面来说,首先硬件方面,学单片机要懂基本的电子方面的知识,数电和模电是最基础的,一般搞嵌入式的都要能看得懂原理图,需要知道自己的输入、输入分别是什么,这就牵涉到一些比如GPIO、UART、I...
怎么做基于STM32的指纹密码锁 怎么做基于STM32的指纹密码锁
STM32单片机直接买现成的最小开发板,也就30多块钱,比如这个,省得你自己做板子了。 程序还是得你自己写,会用串口就行,然后再买个继电器模块,网上多的是,比如这种的供个电,直接用单片机IO就能驱动了,用这个去控制电子锁的开或者关。 电子锁都替你想好...
STM32单片机好学吗 STM32单片机好学吗
目前市面上热门的32位单片机,非STM32莫属了,网上各种论坛以及开源的资料非常多,如此一来,能为我们的学习提供更多的帮助,超子提供一个学习路径供您参考。 1.C语言基本语法 STM32需要使用C语言开发,所以首先要掌握C语言的基本语法,前期可以不必投入太多...
如何自学stm32单片机 如何自学stm32单片机
首先你要有一个开发板,如果你是刚入门单片机领域的,建议从视频开始学习。书籍方面最起码要有一本C语言书籍,方便查阅C语言知识点。 刚开始学习的时候注意以视频为主,反复看都看不懂的知识点可以看书,还是不懂的话就要上网搜寻答案了(当然如果身边有前辈...
自学stm32单片机需要哪些软件 自学stm32单片机需要哪些软件
首先说些最基本的软件,也是必须的、最低配的。 MDK 软件,即 KEIL: 这个软件主要就是用来编辑、编译、下载代码的,这个开发平台一定要好好研究一下,因为这里集成了很多强大的调试功能,掌握了这些功能将极大的方便你寻找 BUG ,因为在软件开发方面,没人...