感觉stm32太简单是一种自负吗

中科助力健康中国 http://news.39.net/ylzx/bjzkhbzy/

感觉stm32太简单是一种自负吗

其实简单或者复杂都不重要,重要的是通过STM32我们能学习到什么?

顺带一提。今年自己还录制了一套还比较系统的入门单片机教程,想要私信我就可以,也可以找我报名线上指导,去参加电子设计比赛

做一个键盘/鼠标,可以学习USB协议。

做一个联网设备,需要学习以太网,TCP/IP协议的底层实现。

做一个无线设备,可能需要学习蓝牙、WIFI或者zigbee的协议,而最终的应用,可能不一定有库或者包,需要自己去写底层。如果用模块,则可能需要学习SPI、I2C或者SDIO去连接模块。

做一个温控设备,或者平衡小车,需要学习PID算法。

做一个摄像头,可能需要学习SCCB协议,如果想深入一些,可能需要学习一些图像处理的知识。

如果这个摄像头要连接PC,做更深度的处理,则需要学习上位机的编写,可能需要设计协议或者写一个服务器,此时可能需要学习开发服务器的知识,以及一门写服务器的语言,包括不限于C++/Java/python/nodeJs。服务器框架可能也要学一个。服务器都有数据库,学习个简单的nosql吧,当然mysql和oracle也可以。

上位机要是需要图形界面,最简单的可能是electron,当然C++调用win32API更好。

如过要做人脸识别、图形分割,还需要机器学习的知识,可能需要python和tensorflow/pytorch框架,当然其他语言也可以,但可能更复杂,而机器学习,基础是数学,很难的那种。

现在都是手机端操作,Android可能学一下,Java走起。如果碰巧手机是苹果的,objective-c学起来。

如果继续深入,做一个更复杂的设备,首先需要自己设计板子,PCB设计需要学,那模电数电也需要学,电路原理更需要学。

软件层面,可能发现裸机已经不够用了,可能需要学习ucos/freeRTOS之类的操作系统,甚至自己学习写一个操作系统内核。如果这个系统要求健壮、高效,需要深入理解操作系统、数据结构、算法、优化、汇编语言等。

上述种种内容还不少,不知不觉已经学习了计算机科学的一部分了,对计算机科学有了基本的了解了。

如果大家觉得这是强行关联,其实不是。综上所有,只是用STM32做了一个处理单元放在服务器端的小机器人,能保持平衡、识别人脸、能在PC端和手机端控制而已。

语音识别、对话系统等功能还没说,这些可能需要更多自然语言处理、乃至强化学习的知识,你发现,往往效果不尽如人意,这不是你技术不好,而是这个世界的瓶颈,恭喜,可以看论文、写论文,为人类在计算机、人工智能领域的突破做贡献了。

什么?想要把运动单元做波士顿动力那样的?这事情就更复杂了,不然你以为我怎么入坑的?

以上是扩展,向深学习呢?

技术深究起来自己都怕,比如刚学习了STM32的cortex架构,那其寄存器、指令集、内存是如何实现的?刚了解这些,那其锁存器是哪一种,取指、解码过程是怎样的?加法器又怎么实现?刚了解三极管和布尔逻辑运算,那三极管是怎么工作的?刚了解PNP和NPN,那共射特性曲线是怎样的?为什么载流子会运动,正偏反偏是什么?为什么磷、硅、硼作为半导体材料,会形成电子流动?空穴是否能流动?

重点不是STM32能做什么,而是我们能用STM32做什么?能做什么程度的产品,市场竞争力如何,甚至考虑是否满足了用户未被满足的需求,也就是填补了市场空白。技术并不是独立的,而是拓扑的。

为种花崛起而学习,加油!!!码字不易,喜欢来个点赞


转载请注明:http://www.aierlanlan.com/grrz/3682.html