为什么要写这篇文章呢?这是一篇关于嵌入式入门的文章,因为我在进入嵌入式这个领域之前,也是遇到过非常多非常多的困难,所以呢,希望写下这篇文章,让大家看看少走弯路。
        首先,我打算先列举一下大家问得最多的几个问题,然后我们一起由问题切入进行一些讨论。
问题1:我是学单片机好还是直接学STM32好???
问题2:STM32如何才能快速入门?
问题3:为什么是STM32呢?为什么不是ARM9,ARM11呢?
下面我将逐个答复
首先问题1:我是单片机好还是直接学STM32好呢?
答:首先我们谈下目的,你学习的最终目的是能够开发产品或者成为项目经理;而目前市场上的单片机都基本用C语言了,用汇编进行开发的项目已经非常少了
在硬件接口这个环节上都一样:学51单片机和学STM32都是一样的,主要看其市场上的资料是不是足够充分,都是调用硬件的接口,控制I/O,完成相应的功能
在软件这个环节上,STM32要强过51单片机:为什么这么说呢?学STM32它自带一个官方的库,而这个库的源代码是开放的;而51单片机却没有,也就说,当你做一个具体项目的时候,用STM32开发项目速度会比用51单片机要轻松快捷,方便,并且BUG也少.
ST的这个库专门是由ST官方团队打造的,是经过详细认真测试过的,例如:你要做处理器支持USB的U盘功能,对51来说,你可能需要在网上去找这样一个驱动,然后移植到51单片机上,这样的缺点是:移植本身就比较累,比较麻烦,并可能有些代码不一定经过验证了的,很难保证没有BUG;而STM32是官方推荐的库源代码,这些功能早就有了,所以用STM32开发项目做起来非常的轻松,愉快,放心,BUG也少。
从选型方面考虑:STM32的性价比与单片机相比,虽说单片机很便宜了,一般市场上就5块钱左右,而STM32最便宜的是10元多一点,但是如果比性价比,STM32还是很要强过51单片机很多,为什么呢?因为首先STM32是72MHZ的主频,而51单片机是10多M,随着未来产品功能增多了,要求越来越高,可能51单片机的速度和性能就满足不了需求,而STM32足够强劲的主频,可以延缓这个问题,使得您的产品周期生命得到延长,而且你有其他新需求也可以灵活增加上来,因为STM32完全有能力负担得起。

问题2:STM32如何才能快速入门?
答:首先就是最好具备基本的电子基础,如果您只有纯软件基础,那就应该打扎实C语言基础,然后弄一块开发板,边学边补充硬件电子方面的知识,因为软件背景去理论的学硬件,那是非常枯燥的事情,而且效果也不一定理想;那么此时你就需要一款比较的板子,板子大与小,功能多与少都不是那么重要,这里最重要的就是要资料丰富,资料丰富,才是最好的;我当时就从同事那里弄了一块STM32神舟系列的板子,大概花了1,2个星期就正式入门了。以下是我摘抄的关于那个板子的一些特点,大家可以看看:
关于STM32神舟开发板的特点有哪些呢?????
特点1:STM32神舟系列的每款开发板都有一个非常详细的几百页的说明手册。有很多爱好者反映,买到的开发板没有手册或手册不全,手册不详细,拿到手后没有什么用,无从下手,那么您可以考虑STM32神舟系列的开发板,其中神舟IV号的手册有将近700多页之多,无论还是从原理还是从代码都是非常值得阅读的资料书籍。  
特点2:开发板所带的例程代码非常好,易懂和方便移植。很多开发板的代码写得很难阅读,不规范,有的甚至是用寄存器实现的代码,可读性非常差,并且不容易重用到新的实际项目中,而STM32神舟系列的开发板,全部用ST的专用库实现,库代码全部开源,库即是将底层寄存器部分代码全部封装成函数,融入了软件设计的架构理念,想跟踪到硬件实现的驱动底层,就跟进对应的函数即可看到一切原始代码,所以您可以有选择的想看寄存器版本就看寄存器版本,想看函数库版本就有函数库版本,无论对实际项目也好,针对学习也好,两全其美!!!
特点3:神舟系列板子因为系列全,所以技术支持以及技术进一步拓展空间大。许多单独的开发板技术支持根本不行,有的就算是技术支持不错,但是你想更深入一步去学习,就很难了;而成一个完整系列的STM32神舟系列是值考虑和选择的,因为该系列包含了103RBT,VCT,VET,ZET,以及107VCT多个系列的开发板,无论你先学难,再拖展知识面,还是怎么样都好,绝对不怕资料少!没资料!!!而且各个系列之间还可以相互借鉴,相互依存,各个设计的高手非常多,大家一起相互交流,产生更多更新碰撞和资料。
特点4:硬件资料丰富。硬件资源以及相关资料都比同类开发板要多很多,因为该系列是一个组织在维护和发展,并不是单独的个人爱好所设计的板子,这个组织走在最前沿,不断收集行业内的知识,在神舟系列上进行验证和实现,所以资料也会越来越多。
特点5:板子的网络接口特别加强。许多STM32开发板没有考虑到网口这块以及无线2.4G(WIFI)和315M通信的例程,随着嵌入式设备在网络方面日益普及,以太网以及无线网都是嵌入式设备中必不可少的一个环节,就算有的嵌入式设备不需要网口,但是做为提供开发板的设计,不可不考虑加强网口这块的例程,代码,讲解,为各个开发爱好者做一个提前准备和设计,而这些接口神舟系列有已经直接运行的代码以及详细的讲解,大家获得相关资料,相互参考一下。

问题3:为什么是STM32呢?为什么不是ARM9,ARM11呢?
答:这里有个误区,很多同学如果就仅仅希望入门嵌入式,那就尽量不要选择ARM9和ARM11,为什么呢?因为诱惑太多了,因为你一旦选择ARM9或ARM11,那么这个平台就仅仅linux和wince等操作系统内核,驱动,应用,各种协议,硬件原理图,等都有够学一年半载了,没这点时间,你无法完全掌握,所以并不适合入门,周期太长,难度相对来说较大。
        入门最好选择主频低一点的处理器,一切都是先掌握好原理,弄明白,弄透彻了,一切就都好办!所以单片机中,STM32是目前最最主流的芯片,加上目前STM32的资料非常的多,所以,最好还是推荐STM32的开发板做为入门级的板子,学会之后,即可自己独立开发出各种产品,STM32官方提供的开源代码库也是非常好用,将底层的各种汇编,管脚定义都封装成了各个功能函数,开发起来非常方便,快捷!

学习STM32的理由相关推荐

  1. stm32 web 参数_老司机们都是怎么学习STM32的?

    单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? "不要去学STM32".我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对.你问,如何系统地入 ...

  2. 老司机们都是怎么学习STM32的?

    单片机用处这么广,尤其是STM32,这么火!如何快速上手学习呢? "不要去学STM32".我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对. 你问,如何系统地 ...

  3. 过来人都是怎么学习stm32的

    不要去学STM32.我不是说STM32不好,而是这种为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习STM32? 本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么S ...

  4. 跳过51单片机,直接学习STM32单片机怎么样?

    经常有学员问:" 跳过51单片机,直接学STM32单片机怎么样?" 武汉华嵌科技的工程师给大家定心丸:"不管C51有没有落后,学习51都是值得的,不会浪费你的时间和精力, ...

  5. 如何系统地入门学习stm32?

    我从事单片机开发多年,用过非常多芯片,有stc.中颖.GD.新唐.BLE.Zigbee.NXP.还有一些国产SOC等等,唯独ST的让我最省心,不管是STM8还是STM32. 省心只要是体现在稳定,只需 ...

  6. 知乎嵌入式大杂烩:学习STM32的一点经验分享

    前言 前两天在群里看到群友们在讨论学习STM32的话题,并且今天也有一位机械专业的准研究生也问了STM32的入门问题.正好我也有一点经验,所以试着分享一下这个话题.我也不是什么大神,只是一名普通的工程 ...

  7. proteus里面没有stm32怎么办_学习STM32日志——独立看门狗实验(20.06.23)

    继续更新学习STM32的历程,今天学习看门狗. 在单片机构成的微型计算机系统中,单片机的工作时常收到外界电磁场的干扰,导致程序跑飞,陷入死循环.为了解决这个问题,产生了一种用于监测单片机程序运行状态的 ...

  8. keil 查看 stm32 io波形_这样学习STM32单片机,从菜鸟到牛人很简单!

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  9. keil 查看 stm32 io波形_如何系统地入门学习stm32?

    我想说,为了学习单片机而去学习单片机的思路不对. 你问,如何系统地入门学习stm32呢? 这本身就是一个错误的问题.假如你会使用8051 , 会写C语言,那么STM32本身并不需要刻意的学习. 你要考 ...

  10. keras 自定义层input_从4个方面介绍Keras和Pytorch,并给你选择其中一个学习库的理由...

    全文共3376字,预计学习时长7分钟 对许多科学家.工程师和开发人员而言,TensorFlow是他们的第一个深度学习框架. TensorFlow 1.0于2017年2月发布:但客观来说,它对用户不是非 ...

最新文章

  1. 全局负载均衡与CDN内容分发
  2. python3 字符串转数组 数组转字符串 切片操作
  3. 必须要改变这样的生活
  4. 【译】Typescript的类型(二)
  5. 苹果CMSV10橙色自适应25影视网主题模板
  6. 通过脚本设置Windows系统ip地址
  7. 20050519:把机器拿到鸡兄那里去修了
  8. 360浏览器清除缓存_手机中的缓存是什么?
  9. B/S---控件属性
  10. PouchDB 基础
  11. 青岛发文:3年将在全市全面实施电子劳动合同和电子集体合同
  12. 河南自考本科英语可用计算机代替,河南自考改革:选2至3门专业课可代替英语课程...
  13. UGUI 实现屏幕外怪物的指示箭头
  14. mysql面试题总结_mysql面试题小结
  15. 腾讯企业邮箱管理权限可实现什么?
  16. Fiddler调试利器
  17. 2022保研夏令营经验贴(中科大、华科、武大、国防科大、浙大软件、中科院)
  18. Layui的layer.confirm弹框用法,很详细
  19. Hashtable和hashMap有什么区别
  20. 交通大学c语言作业,交通大学C语言第二次作业说课讲解.docx

热门文章

  1. Gateway一文详解
  2. 模拟用户操作购物车添加商品修改数量
  3. vue 通过localStorage添加商品到购物车
  4. CDN(内容分发网络)
  5. 互联网新半场的流量生态——阿里云定向免流方案
  6. imagebutton图片缩放
  7. eNSP中静态路由器和默认路由器的配置连接
  8. 基因测序的云计算平台可能带来的变革与进步
  9. ftp服务器上传文件卡顿,FlashFXP连接FTP服务器很慢,原因可能是这样
  10. 什么是数据安全,为什么需要数据安全,怎么才能实现数据安全?