学单片机之前要学什么?C语言和单片机有什么关系?

学习单片机之前要学什么?提起这个就想起我当年开始学习单片机的血泪史了。

 

08年我加入学校的电子实验室,为08年的全国电子大赛做准备。

 

08年的电子大赛分类3类,硬件设计类、单片机软件类、产品的调试动手类

 

现在的大赛应该有所改动。

 

我选择的是软件类,选择这个的原因是我觉得这个更加的神秘,就是这个神秘感让我对软件更加的有兴趣。

 

刚开始真的是一窍不通,我买了一本C语言书,独自学习了2个月,做了3本笔记,然后又学习了1个月的数字电路,到这个时候,我都快奔溃了,3个月过去了,还是啥都不懂!

 

这个时候我已经做好放弃的准备了,最后想想:自己选的路,跪着也要走完。

 

正好那段时间每天也闲的蛋疼,就抱着边玩边学的态度,说出来你可能不信,不知不觉就把单片机的IO口、定时器、中断、串口通讯这些学会了。

 

那一刻,我就在想原来单片机开发也没有这么神秘!哈哈!

 

回顾一下自己的这个学习过程,到现在还是非常的难忘,相信很多的伙伴们可能还和我当年一样,坚持了一段时间,没有进展,一直处于一个入门前期的困惑当中。

 

其实单片机就是一个工具,在学习这个工具之前还是需要有别的知识作为铺垫。

 

比如说基本的数字电路基础简单的C语言编程基础

 

一、电路基础和C语言基础要学习的内容

 

1.数字电路基础需要学习什么?

掌握电阻、电容,三极管的基本用法,掌握单片机的高低电平的概念基本上就差不多了。

 

最好的学习渠道就是开发板的原理图,把开发板原理图搞懂基本上就能做一些项目了。

 

2. C语言编程基础

C语言基础的学习,必须要掌握一些基本的语法,和变量的定义。

 

具体的学习路径,可以到小破站找无际单片机编程比较系统全面,也是针对单片机来讲的。

学单片机之前要学什么?C语言和单片机有什么关系?_第1张图片

学完单片机、电路基础、C语言的知识以后,就可以开始着手做一些项目了,前期先通过小项目开始,比如说电子时钟啥的。

 

 

二、C语言和单片机有什么关系?

通过前面的讲解,相信大家已经有一点概念了。

 

下面再给大家深入讲解下C语言和单片机的关系。

 

单片机支持C语言汇编来编写程序。

1.通过C语言来编写

C语言编写的程序,最终需要通过keil工具编译成单片机可以识别的.hex文件的过程:

C程序源码->C编译器->汇编代码->汇编编译器->机器码(.HEX  .BIN

 

2.通过汇编来编写

单片机的程序早期都是汇编代码,汇编代码最接近硬件底层的低级语言,运行的效率比较高。

 

但汇编语言很很多比较明显的缺点:不方便阅读,移植性差,开发难度大等,随着技术的不断进步,大家就开始逐步的的使用C语言来代替汇编语言,(比较低端的芯片还是需要汇编来开发)。

 

所以,一般产品开发都是使用C语言,汇编一般是用来做很小的产品,或者单片机的启动文件。

你可能感兴趣的:(单片机,stm32,嵌入式,c语言)