1.C语言和单片机两者有什么关系呢?-八维教育

大家好,我是 Warwick 的 Maggie。

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

1.学习MCU前要学什么?

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

提起这件事,让我想起了2008年开始学习单片机的各种弯路。

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

我选择了软件类别。一开始买了一本C语言的书,一个人学习了2个月,做了3本笔记本,然后又学习了一个月的数字电路。这时候,我跑得很快。坏了,3个月过去了,我还是什么都不知道!

每当准备放弃的时候,我都会想起当初:我要参加比赛,争取一个名额!

在学校的每一天都很悠闲,本着边玩边学的态度,不知不觉中学习并掌握了单片机的IO口、定时器、中断、串口通信等。

那一刻,我恍然大悟,单片机的开发并不难!!!

最近我教了学生之后,有很多学生让我给他们推荐C语言相关的书籍:我猜他们可能想像我以前一样努力,学几个月C语言,把C语言读透,然后然后开始单片机程序开发!

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

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

一、电路基础知识和C语言基础知识要学什么

01、数字电路的基础知识我需要学习什么

掌握了电阻、电容、三极管的基本用法c语言是系统软件么,掌握了单片机高低电平的概念,基本就够了。

最好的学习渠道是开发板的原理图。如果看懂了开发板的原理图,基本可以上手一些项目。

02. C 编程基础

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

具体的学习路径可以去小坡站找华为MCU编程,比较系统全面c语言是系统软件么,也是针对MCU的。

学习完单片机、电路基础、C语言等知识后,就可以开始做一些项目了。前期从小项目做起,比如电子钟。

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

接下来给大家深入讲解一下C语言与单片机的关系。

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

用C语言写的

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

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

图片[1]-1.C语言和单片机两者有什么关系呢?-八维教育-老王博客

02.汇编写

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

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

因此,C语言一般用于产品开发,汇编一般用于制作非常小的产品,或者单片机的启动文件。

三、做单片机开发,C语言基础知识能学多远?

干货!对于刚入门的同学,大家学习一些单片机的基础知识是可以的。在这里,我将为您简要列出它们:

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

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

数组的定义和应用

掌握if语句、while语句、switch语句等。

掌握break、contuine、goto的用法

函数的定义和应用

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

了解如何使用 #if #ifndef #ifdef #endif

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

在这篇文章中,我们华为MCU编程团队专门为初学者录制了一套课程。本套课程专为单片机设计。

帮助您无缝连接到实际的微控制器开发。

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

如果你掌握了51单片机,就需要学习一些C语言的高级语法。

C语言结构的定义和使用

C语言中指针的概念、定义及应用

C语言枚举的应用

回调函数的定义和使用

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

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

我们华为也录制了一整套课程,免费分享给大家。你可以把它们和我们一起带走。

华为单片机编程

有了这些基础,小伙伴们就可以开始学习STM32单片机了,在单片机上运行系统,比如freeRTOS。

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论