学习STM32很简单?
关注、星标公众号,直达精彩内容
1. 觉得简单,说明ST成功了。
当年STM32是怎么在众多单片机里脱颖而出的?因为有 库函数 这个东西。
在这之前,单片机主要是51、AVR、PIC、MSP430这些玩意,就是写个UART通信函数,都要先去搜索下别人的代码“借鉴”一下,发现别人写得不完全满足需求又自己修改,然后慢慢地积累出自己的一套库,在换下一款单片机的时候这几年的积蓄发现又用不上。
ST半导体搞这个库函数,不就是为了降低开发门槛么?
让开发者专注于更抽象的应用而不需要太关注单片机底层的东西才是大趋势,ST抓住这个趋势先发制人才得以迅速占领市场。
什么?直接写寄存器?汇编?这种炫技的东西绝大多数STM32的目标应用都不需要。什么成本敏感?成本敏感谁选STM32啊,几毛钱一颗只能用汇编写的单片机了解一下。
2. 入坑STM32,我们要学习什么
做一个键盘/鼠标,可以学习USB协议
做一个联网设备,需要学习以太网,TCP/IP协议的底层实现
做一个无线设备,可能需要学习蓝牙、WIFI或者zigbee的协议
而最终的应用,可能不一定有库或者包,需要自己去写底层。如果用模块,则可能需要学习SPI、I2C或者SDIO接口去连接模块。
做一个平衡小车,需要学习PID算法。
做一个摄像头能需要学习SCCB协议,如果想深入一些,可能需要学习一些图像处理的知识。
如果这个摄像头要连接PC,做更深度的处理,则需要学习上位机的编写,可能需要设计协议或者写一个服务器,此时可能需要学习开发服务器的知识,以及一门写服务器的语言,包括不限于C++/Java/python/nodeJs。
服务器框架可能也要学一个。服务器都有数据库,学习个简单的nosql吧,当然mysql和oracle也可以。
上位机要是需要图形界面,最简单的可能是C#,当然C++调用win32 API更好。
如果要做人脸识别、图形分割,还需要机器学习的知识,可能需要python和tensorflow / pytorch框架,当然其他语言也可以,但可能更复杂,而机器学习,基础是数学,嗯~,很难的那种。
现在都是手机端操作,Android可能学一下,Java走起。如果碰巧手机是苹果的,objective-c学起来。
如果继续深入,做一个更复杂的设备,首先需要自己设计板子。这时候PCB设计需要学,模电数电需要学,电路原理更需要学。
软件层面,可能发现裸机已经不够用了,可能需要学习ucos/freeRTOS之类的操作系统,甚至自己学习写一个操作系统内核。如果这个系统要求健壮、高效,需要深入理解操作系统、数据结构、算法、优化、汇编语言等。
上述种种内容还不少,不知不觉已经学习了计算机科学的一部分了,对计算机科学有了基本的了解了。
如果大家觉得这是强行关联,其实不是。综上所述,只是用STM32做了一个处理单元放在服务器端的小机器人,能保持平衡、识别人脸、能在PC端和手机端控制而已。
语音识别、对话系统等功能还没说,这些可能需要更多自然语言处理、乃至强化学习的知识,你发现,往往效果不尽如人意,这不是你技术不好,而是这个世界的瓶颈,恭喜,可以看论文、写论文,为人类在计算机、人工智能领域的突破做贡献了。
什么?想要把运动单元做波士顿动力那样的?这事情就更复杂了,不然你以为我怎么入坑的?
3. 当技术往深了说
技术深究起来自己都怕,比如刚学习了STM32的cortex架构,那其寄存器、指令集、内存是如何实现的?
刚了解这些,那其锁存器是哪一种,取指与解码过程是怎样的?
加法器又怎么实现?刚了解三极管和布尔逻辑运算,那三极管是怎么工作的?
刚了解PNP和NPN,那共射特性曲线是怎样的?
为什么载流子会运动,正偏反偏是什么?
为什么磷、硅、硼作为半导体材料,会形成电子流动?空穴是否能流动?
重点不是STM32能做什么,而是我们能用STM32做什么?能做什么程度的产品,市场竞争力如何,甚至考虑是否满足了用户未被满足的需求,也就是填补了市场空白。
技术并不是独立的,而是拓扑的。
点击关注下方公众号,一起学习嵌入式。
学习STM32很简单?相关推荐
- 初中生文凭学习单片机STM32很简单吗
初中生文凭学习单片机STM32很简单吗 ///插播一条:我自己在今年年初录制了一套还比较系统的入门单片机教程,想要的同学找我拿就行了免費的,私信我就可以哦~点我头像黑色字体加我地球呺也能领取哦.最近比 ...
- keil 查看 stm32 io波形_这样学习STM32单片机,从菜鸟到牛人很简单!
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...
- 学习STM32单片机,从菜鸟到牛人就是这么简单
我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习STM32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的 ...
- 单片机编程软件很简单(23),keil单片机编程软件调试stm32
单片机编程软件的使用意义较强,不论是工作还是学习,单片机编程软件都是常被使用的软件之一.本文对于单片机编程软件的介绍将基于如何采用keil单片机编程软件调试stm32,如果你对单片机编程软件抑或本文内 ...
- 不是说学会了51再学STM32会很简单吗?
通常来说学会了51以后再去学STM32就不会很吃力,假如你发现你学会了51,但是在学32的时候非常困难,感觉无从下手.那是因为你对于学会51这件事有所误解,你学习51的程度在我们看来就属于马马虎虎的水 ...
- 学习STM32单片机,从菜鸟到牛人就是这样简单
想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习STM32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考虑的是 ...
- 表格合并行_Word制作验收单表格,很简单,快来学习吧
作者:图文设计师东东 办公软件Word制作一款简单的验收单表格,方法很简单,大家一起来学习吧! 第一步.新建.插入表格 打开Word新建--空白文档,输入标题"验收单".如下图. ...
- 《Java Web开发入门很简单》学习笔记
<Java Web开发入门很简单>学习笔记 1123 第1章 了解Java Web开发领域 Java Web主要涉及技术包括:HTML.JavaScript.CSS.JSP.Servlet ...
- STM32 之十 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压,内部参照电压的具体方法,只有在STM32F0x芯片的参考手册中才能找到,其他MCU的参考手册都是很简单的说明
STM32 之十 供电系统及内部参照电压(VREFINT)使用及改善ADC参考电压 ZCShouEXP 2018-12-21 10:50:33 16404 收藏 32 展开 问题 今天在使用 ...
最新文章
- 饥荒海难机器人怎么用_饥荒:海难是一款野外生存游戏
- 神经网络与机器学习 笔记—改善反向传播的性能试探法
- python的6种基本数据类型--字典
- LiveVideoStackCon 2018展现多媒体技术生态多样性
- 学习,学习javascript
- python修改word_Python自动化修改word实例
- php网上实训指导书,PHP网站开发技术-实训指导书2016吐血制作
- (转)【重磅】无监督学习生成式对抗网络突破,OpenAI 5大项目落地
- mysql 空间查询_MYSQL空间查询函数
- ubuntu下安装gcc
- 第二章:用Python对不同的商品销售数据进行预测分析
- 关于打印机状态的获取
- 00 引言:你想谈一场恋爱吗?
- 罗切斯特大学排名计算机排名,罗切斯特大学计算机工程硕士排名第35(2020年TFE Times排名)...
- Js 高德地图SDK
- hive之beeline连接与操作
- 人工智能时代的主要特征是什么?
- android打包时出现***is not translated in zh-rCN (Chinese: China)
- 核心单词 Word List 1
- 【Skill】从 WPS 步入Office 365
热门文章
- 编程语言里函数方法类型检查的重要性
- SAP CRM呼叫中心和Hybris Backoffice的轮询设计
- SAP云平台上部署应用时遇到disk quota不够的问题
- Fiori UI上my contact加了Dr. 后搜索不出数据的奇怪问题
- product category no need to optimize
- local sandbox getBootstrapScriptPath
- configurations in Gateway hub system
- 如何处理错误消息Query XXX is invalid or contains errors
- UDO report generate DDIC table
- bgrfc entry point