0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

为什么C语言是最适合单片机编程的高级语言

Wildesbeast 来源:今日头条 作者:C语言编程学习 2020-02-03 16:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

单片机为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。

这个问题的意思应该是:现在有很多很好用的高级语言,如javapython,VC等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不能不能,而是不合适。

一、单片机编程的特点

对单片机编程来说,首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。

第二、单片机编程的一个主要对象是对单片机的端口和内部寄存器的操作和配置,这个需要比较精确的时序控制。

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

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

高级语言可以实现更为优化的算法,更为方便的执行方案,但是,高级语言对程序存储空间的占用要比汇编和C语言多很多。这是最致命的一点,单片机有限的存储空间需要靠精打细算来设计程序,根本经不起高级语言臃肿的代码体积。

高级语言无法实现精确的时序控制。

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

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

而C语言代码执行效率高,也比较精简,更便于移植......所以在现今的单片机编程语言中,C语言才会占据绝对主导地位

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6078

    文章

    45612

    浏览量

    674717
  • JAVA
    +关注

    关注

    20

    文章

    3013

    浏览量

    116959
  • C语言
    +关注

    关注

    183

    文章

    7649

    浏览量

    146292
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    手把手教你学51单片机-C语言

    更多信息),手把手地带领大家来学习单片机技术,给单片机初学者带来福音,让大家一步一个脚印的掌握单片机技术。 《手把手教你学51单片机-C
    发表于 03-05 11:47

    这几个单片机技巧如果不了解,真的很难再进阶

    效率的开发,小编总结了几个技巧,帮助大家进阶,在优秀的开发者路上越走越远! 如何提高C的代码效率? 用C语言进行单片机程序设计是单片机开发
    发表于 01-05 07:22

    汽车网络安全开发语言选型指南:C/C++/Rust/Java等主流语言对比+Perforce QAC/Klocwork工具支持

    汽车网络安全如何选编程语言CC++、Rust、Java……谁更适合AUTOSAR、ISO/SAE 21434?一文了解8种主流
    的头像 发表于 12-26 11:13 712次阅读
    汽车网络安全开发<b class='flag-5'>语言</b>选型指南:<b class='flag-5'>C</b>/<b class='flag-5'>C</b>++/Rust/Java等主流<b class='flag-5'>语言</b>对比+Perforce QAC/Klocwork工具支持

    C语言C++的区别及联系

    过程和面向对象的优缺点 面向过程语言: 优点:性能比面向对象高,因为类调用时需要实例化,开销比较大,比较消耗资源;比如单片机、嵌入式开发、 Linux/Unix等一般采用面向过程开发,性能是最重
    发表于 12-24 07:23

    单片机C语言编程的心得

    规范程序结构化设计的需要,既可以实现大型程序的模块化,又可以实现根各模块的连接调试。 1、.H文件介绍: 在单片机C程序设计中,项目一般按功能模块化进行结构化设计。将一个项目划分为多个功能,每个功能
    发表于 12-08 07:44

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

    ,只是C语言最适合单片机编程高级语言。 一、
    发表于 11-28 07:37

    单片机启动&amp;库函数的构成

    文件,启动文件以“.s”后缀出现,意为start_up。 2.启动文件由汇编语言编写,单片机启动一定会从启动文件开始,而不是C语言下的main函数。 3.下图为启动文件截图。
    发表于 11-18 08:15

    C语言单片机C语言有什么差异

    区别是由编译器决的,只能参考对应的编译手册,即使同种平台不同的编译器对C的扩展也有不同。 3、单片机c语言编程是基于
    发表于 11-14 07:55

    单片机的误区

    任何单片机程序的编写。根本就不要学去C语言高级用法,即使你用C语言的最基础的语句能够完成程序的
    发表于 11-14 07:46

    开发单片机需要学习什么?软件编程的 4 个关键层次

    ,缺一不可。 第一层是 C 语言基础语法。这是单片机编程的 “通用语言”,需熟练掌握变量(字符型、整型、浮点型)、函数(定义、调用、返回值)
    的头像 发表于 08-25 11:32 1123次阅读

    大一暑假适合学51单片机吗?

    大一暑假学 51 单片机,简直是老天爷赏饭吃的黄金窗口。我当时就是靠着这两个月,把从课本上看来的 C 语言指针、循环语句,变成了能让 LED 按节奏跳舞的真本事。
    的头像 发表于 07-16 11:42 837次阅读
    大一暑假<b class='flag-5'>适合</b>学51<b class='flag-5'>单片机</b>吗?

    单片机C语言入门指导(非常通俗易懂!)

    单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学 C51,毕竟 C51 和我们课上讲的 C
    发表于 06-16 16:32

    单片机9种常用软件架构-C语言

    单片机9种常用软件架构-C语言
    发表于 06-10 20:35

    单片机C语言实例(350+例)

    350+单片机C语言实例! 纯分享帖,需要者可点击附件免费获取完整资料~~~【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-22 21:47

    单片机C语言基础】1、什么是单片机及课程内容简单介绍

    本帖最后由 liuqiangew 于 2025-5-22 21:32 编辑 单片机C语言基础视频教程,想要学习的同学可以下载学习,资料包括学习资料和学习视频。 纯分享帖,需要者可点击附件
    发表于 05-22 21:29