欧易

欧易(OKX)

国内用户最喜爱的合约交易所

火币

火币(HTX )

全球知名的比特币交易所

币安

币安(Binance)

全球用户最多的交易所

干货!单片机和C语言两者之间的关系?(附教程)

2022-10-09 17:15:56 1922

摘要:大家好,我是华维的麦琪。首先我们要思考两个问题!1.学单片机之前要学什么?2.C语言和单片机两者有什么关系呢?提起这个就想起我08年开始学习单片机的各种弯路了。08年我加入学校的电子实验室,为08年的全国电子大赛做准备。那年的电5子大赛分类...

大家好,我是华维的麦琪。

首先我们要思考两个问题!

1.学单片机之前要学什么?

2.C语言和单片机两者有什么关系呢?

提起这个就想起我08年开始学习单片机的各种弯路了。

08年我加入学校的电子实验室,为08年的全国电子大赛做准备。那年的电5子大赛分类3类,硬件设计类、单片机软件类、产品的调试动手类。

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

每当我准备放弃的时候,回想当初:自己要参加大赛并且获得名次!

在学校的日子每天都清闲得很,就抱着边玩边学的态度,不知不觉就把单片机的IO口、定时器、中断、串口通讯这些学会并且掌握。

那一刻,我恍然大悟,原来单片机开发也不是很难!!!

最近给学员上完课后,很多学员找我给他们推荐C语言相关的书籍:我猜想他们可能想和我当年一样,埋头苦干,学个几个月的C语言,把C语言吃透,再开始单片机程序开发!


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

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

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

01、数字电路基础需要学习什么

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

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


02. C语言编程基础


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

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

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

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

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

01.支持C语言和汇编来编写程序。

通过C语言来编写

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

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

02.通过汇编来编写

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

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

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

三、做单片机开发,C语言基础学习到什么程度就可以开始了?

干货!对于刚入门的学员,大家学习单片机的一些基础就OK,下面我给大家简单的列举一下:

学习二进制,十进制、十六进制数据的概念和应用

C语言变量的定义和使用(unsigned,char,int,float,double)

数组的定义和应用

掌握if语句,while语句,switch 语句等

掌握break,contuine,goto 的用法

函数的定义和应用

掌握单片机C语言的运算符的应用:位运算符,关系运算符等

学习#if #ifndef #ifdef #endif的用法

学会include的使用,了解sfr,sbit,#define 的用法

这块我们华维单片机编程团队专门为入门的小伙伴录制了一套课程,这套课程是专门针对单片机来讲解。

帮助大家无缝对接到实际的单片机开发。


只要掌握了以上的C语言基础基本上就可以开干了。以我个人经验来说,建议先学习51系列单片机,再学习STM32单片机。

如果掌握了51单片机之后,小伙伴们就需要学习一下C语言的一些高级语法了

C语言结构体的定义和使用

C语言指针的概念,定义和应用

C语言枚举的应用

回调函数的定义 和使用

C语言的链表,队列算法,任务管理

以上这些高级语言是单片机C语言的一些精髓,需要有一定的基础。

这块我们华维也录制了整套课程,无偿分享给大家,大家可以跟我们拿。

华维单片机编程

有了这些基础,小伙伴们就可以展开STM32单片机的学习以及再单片机上跑系统,例如freeRTOS等。

下一篇,我们来讲讲c语言指针用法及实际应用详解。

版权声明:本站所有文章皆是来自互联网,如内容侵权可以联系我们( 微信:bisheco )删除!
友情链接
币圈社群欧易官网