干货!单片机和C语言两者之间的关系?(附教程) 大家好,我是华维的麦琪。 首先我们要思考两个问题! 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语言指针用法及实际应用详解。
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/27540.html