单片机学习路线

介绍

        通俗来讲,单片机是一个可以执行程序的硬件,可以上传并运行程序。运行程序后通常有两种表现,通过单片机输出,以及读取外部设备的输入,分别称为OUTPUTINPUT。而单片机的目的,就是为了在一小块硬件上执行提前上传好的程序,并根据程序控制外部设备运行,从而产生预期的效果。具体定义可参考百度百科:单片机_百度百科

应用

        比如新型代步工具平衡车,它的工作原理就是在一块单片机上运行程序,单片机读取姿态传感器数据,获取自身角度,将角度输入程序,根据程序输出合适的电机转向和转速以达到平衡的目的。这就是单片机的应用。

单片机学习路线_第1张图片

学习

        从上文可以提取出关于单片机的两个主要内容是:程序和外设。学习自然也要从这两方面开始。 首先是程序,一般单片机所使用的语言是C语言,所以第一步,我们要从C语言学起。

  C语言 

        关于C语言,网络上有大量的教程,在这里我推荐几个不错的教程。

    文字类

  • 菜鸟教程(此网站还有很多其他优质教程):C 语言教程 | 菜鸟教程 (runoob.com)
  • C语言网(网站含单片机教程,可参考):C语言教程 - C语言网 (dotcpp.com)

    视频类

  • B站-鱼C-小甲鱼:【C语言】《带你学C带你飞》_哔哩哔哩_bilibili

        需要补充的是,在上面的视频教程中所使用的编程环境是Linux系统中的vim编译器,不太适合我们这个阶段。去年我们的C语言程序设计课程中要求使用的编译器是VC++6.0,这个编译器是21世纪初左右推出的,版本非常老,一般没有人使用它来开发,但是它的界面简洁,使用也十分方便,因此很适合初学者学习使用。当然如果你有一定的基础也可以选择Visual Studio2019,功能比较强大,相应的使用也复杂一点。下面是VC++6.0的安装及使用教程,安装并学会使用之后,就可以跟着上面的教程学习了。(虽然编译器不同,但代码大体上是相同的,因此可以通用)(为什么说大体上是相同的,因为在Visual Studio中某些函数和变量名称(少数)有一些特殊的写法,据我所知其他的编译器应该都是相通的)

  • 《在WIN10上下载、安装,使用vc++6.0教程&C语言教程》_哔哩哔哩_bilibili

        视频中有小节专门讲述可能会遇到的问题,如果还是解决不了可以去百度、CSDN查找,当然也可以来问我。

上手

  几种常用的单片机

  • 51单片机:这种单片机相信大家也有所耳闻,实际上这种单片机的地位就像VC++6.0在编译器软件中的地位一样,很少有人去开发它,都是用作初学者学习使用。

单片机学习路线_第2张图片单片机学习路线_第3张图片单片机学习路线_第4张图片

  • STM32:目前市场上主流的产品大部分是这种,它比51的接口更加丰富,能够实现的功能相对较多。但最近由于芯片价格上涨,STM32成本价越来越高,产品有转向使用国产单片机的趋势,但由于国产单片机我也没学过,所以就略过不讲。

单片机学习路线_第5张图片单片机学习路线_第6张图片单片机学习路线_第7张图片

  • Arduino:这种单片机相对于51和STM32学习起来比较简单,在前面两种单片机中都是通过控制寄存器的方式来控制单片机的输出,相比于Arduino更加底层一点,而Arduino则是把这些控制代码进行了封装,通过简单的函数来实现控制输出。举个例子,比如说要拿起两个东西,51和STM32的方式都是一只手拿一个,但Arduino则是给了一个袋子直接提起两个东西。(这个例子可能不是很恰当,但大概理解一下还是ok的)

单片机学习路线_第8张图片单片机学习路线_第9张图片

今天先说到这里,学艺不精,以上内容可能有误,大家多多包涵。

你可能感兴趣的:(单片机,stm32,嵌入式硬件)