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

时间:2022-10-09 17:15:56 | 浏览:1608

大家好,我是华维的麦琪。首先我们要思考两个问题!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语言指针用法及实际应用详解。

相关资讯

知识分享:C语言知识干货系列——基础篇

文章来源:博客园丨 CharmchinC 语言的特点C 语言程序设计就是结构化程序设计,它的主要观点是采用自顶向下、逐步细分和模块化的程序设计方法,使用顺序、选择、循环三种基本控制结构来构造程序。世间万物都有两面性,C 语言既有简洁性、灵活

知识分享:值得学习的C语言经典开源项目

盘点一些值得学习的C语言开源项目,大多是曾经比较经典的案例,感兴趣的朋友可以了解一下!Libeventlibev是一个开源的事件驱动库,基于epoll,kqueue等OS提供的基础设施。其以高效出名,它可以将IO事件,定时器,和信号统一起来

终于升级?89年的Linux内核C语言“跟上时代”转成现代C

整理 | 章雨铭 责编 | 屠敏出品 | CSDN(ID:CSDNnews)上周《LINUX设备驱动程序第三版》的第一作者、LWN网络杂志创始人兼主编Jonathan Corbet发表了对于Linux内核的一些看法,他认为虽然内核项目总体发

学习嵌入式开发之C语言基础知识

学习嵌入式开发之C语言基础知识1 C语言简介C语言是一门面向过程的计算机编程语言,具有可读性好、易于调试、修改和移植,而代码质量与汇编语言相当;目前绝大数的嵌入式程序开发基本上都是采用C语言进行编写的。因此我们想要学好嵌入式就必须要先掌握C

C语言的知识点总结

C语言变量的存储类别介绍C语言中的逻辑运算符C运算符的优先级和结合性宏和函数的区别C语言 typedef 的两种用法C语言中符号#和##的作用C语言 printf 格式化输出的详细示例C语言和时间有关的函数示例C函数time和clock的计

笑哭,原来C语言还有这些作用!程序员你知道吗?

随着互联网的发展以及编程技术的不断更新,编程语言的种类也是越来越多,甚至现在的话针对每一个互联网的领域,都有不同的适合它的编程语言。不同的语言是为了实现不同的目标而设计的。不过无论你是一个有经验的程序员,还是你是这个编程网络中的新手,有一

「必读」超全的C语言基础知识大全

学习资料:

学习编程,为什么98%的程序员都会从C语言开始?C语言这么强?

在互联网蓬勃发展的时代,有一类人做出了巨大的贡献,这一群人被大家称之为程序员,怎样才能成为一名优秀的程序员呢,为什么每一个程序员都需要学习C语言呢?就让我来跟大家分享分享:第一:相比较其他的编程语言(像C++,JAVA),C语言是个低级语言

程序员都要学C语言,因为它是编程基础语言吗?原因你意想不到

随着互联网的发展以及编程技术的不断更新,编程语言的种类也是越来越多,甚至现在的话针对每一个互联网的领域,都有不同的适合它的编程语言。不同的语言是为了实现不同的目标而设计的。不过无论你是一个有经验的程序员,还是你是这个编程网络中的新手,有一

既然C++能做C语言大部分事情,为什么C++不能淘汰C语言

原文链接:https://baijiahao.baidu.com/s?id=1693215018575246509这是一个复杂的问题,结合在一起:事实,过时的事实,夸大的说法和根深蒂固的未经证实的信念。事实:-学习C比C ++容易得多:一个

友情链接

天天财经元宇宙中国SEO域名抢注宝宝起名网网站监控比亚迪A股益阳头条新闻网今日亳州重庆交友相亲网梅州今日新闻网国学易经文化网安顺头条新闻网黄氏取名字起名网今日运城普法网广西旅游网少儿培训学习网音乐乐器网大理旅游网梧州六堡茶官网今日淄博今日榆林陈氏陈姓宝宝起名豆粕期货行情网理财投资网朱氏国学起名网免费抽签网丽水新闻头条网无人机航拍网近视防控科普网今日宿州夏令营资讯官网火锅店加盟网官网甘肃旅游网塞浦路斯旅游网
c语言中文官网-零基础c++从入门到精通pdf、c语言编译器、C/C++开发工具、c语言入门自学零基础、c++入门自学、c/c++软件下载、c语言编程软件、c语言自学免费网站、c语言零基础自学视频教程、c++手机编程软件、c语言入门程序设计、初级编程视频教程、c语言在线编程平台、C语言线上作业网站。
c语言中文官网 chuxinxin.cn©2022-2028版权所有