打印
[学习资料]

为什么单片机还在用C语言编程

[复制链接]
1489|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keaibukelian|  楼主 | 2022-4-28 14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
说起单片机我们就会想到C语言,单片机为什么还在用C语言编程?现在有很多很好用的高级语言,如VC、PYTHON、PHP等等,为什么这些语言不能用来编写单片机程序呢?我个人觉得不是这些语言不可以编写,只是C语言是最适合单片机编程的高级语言。

一、单片机编程的特点

1.对单片机编程来说,我们首先要考虑的是单片机的程序空间和数据空间都是有限的,所以我们在编写程序时要尽量做到让程序精简,节约程序占用的存储空间。前提是确保程序的规范性和完整性。

2.我们在进行单片机编程时,主要是通过对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。

3.在需要单片机算法运算中,尽量使用加法、减法、移位运算,不要过多的使用乘法除法,因为乘法和除法运算会非常耗时间,特别是除法,会耗费很多时间,这对于运算速度本身就有限制的单片机来说,是一个非常大的负担。

二、高级语言编写单片机程序的缺陷

高级语言存在的目的是可以实现更为优化的算法,更多的是为了方便的执行方案,但是,高级语言对程序存储空间的占用要比汇编和C语言多很多。由于这个原因就决定了其他高级语言不适用在单片机上,单片机的存储空间非常有限,我们使用者需要靠精打细算来设计程序,根本经不起高级语言臃肿的代码体积。高级语言也无法实现精确的时序控制。

三、C语言是一个折中选择

其实用C语言开发单片机也是一个折中方案,因为最适合单片机开发的编程语言实在太过晦涩难懂,学习起来非常的不方便,并且每一种单片机的汇编指令有很大区别,所以想把一个程序从这种单片机移植到另一种单片机简直是痴心妄想,重新写一遍程序还来得轻松,时间还快。

而且C语言代码执行效率高,也比较精简,方便我们对代码进行移植,所以在现今的单片机编程语言中,C语言才能占据绝对主导地位。


使用特权

评论回复
沙发
asmine| | 2022-5-5 13:27 | 只看该作者
不然呢?
统一用一个语言?

使用特权

评论回复
板凳
wooda| | 2022-5-6 17:16 | 只看该作者
asmine 发表于 2022-5-5 13:27
不然呢?
统一用一个语言?

对,统一用普通话

使用特权

评论回复
地板
asmine| | 2022-5-9 08:10 | 只看该作者
wooda 发表于 2022-5-6 17:16
对,统一用普通话

这难度太大了~~

使用特权

评论回复
5
chenjun89| | 2022-5-9 08:30 | 只看该作者
C语言有啥不好?

使用特权

评论回复
6
海滨消消| | 2022-5-11 14:47 | 只看该作者
难道写编程还可以用普通话吗

使用特权

评论回复
评论
wooda 2022-5-12 12:48 回复TA
不用普通话的话,对接手工程师要求高,比如要四川话做的工程,那很多北方的兄弟就没法接手。。。 
7
hilahope| | 2022-5-28 13:48 | 只看该作者
用C语言编程,通用呢。

使用特权

评论回复
8
yujielun| | 2022-5-28 14:47 | 只看该作者
楼主有什么好的建议吗  

使用特权

评论回复
9
ingramward| | 2022-5-28 15:20 | 只看该作者
这个学习起来,方便多了。

使用特权

评论回复
10
robertesth| | 2022-5-28 16:34 | 只看该作者
用c++编程吗  

使用特权

评论回复
11
ingramward| | 2022-5-28 17:07 | 只看该作者
用C语言开发单片机是必须的。

使用特权

评论回复
12
updownq| | 2022-5-28 17:52 | 只看该作者
你意思是用汇编语言吗  

使用特权

评论回复
13
海滨消消| | 2022-6-7 14:48 | 只看该作者
caosix 发表于 2022-5-14 21:19
真正 用上了 中文普通话,你估计 反而不习惯 了。
例如 : 一个 循环语句 用 C语音 写 :
for ...

哈哈,还是习惯国际统一的C语言

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

83

主题

4272

帖子

5

粉丝