首页编程语言c语言的编程器

c语言的编程器

cysgjjcysgjj时间2024-05-01 04:03:41分类编程语言浏览33
导读:51单片机,stm32,arduino都是用什么语言进行编程的?JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?汽车ECU用什么语言编程,汽车电脑维修的前景如何?51单片机,stm32,arduino都是用什么语言进行编程的?简单的说,C语言。具体一点:51单片机:这是一款8位MCU(微控制器……...
  1. 51单片机,stm32,arduino都是用什么语言进行编程的?
  2. JAVA、C、C++、Python同样是高级语言,为什么只有C和C++可以编写单片机程序?
  3. 汽车ECU用什么语言编程,汽车电脑维修的前景如何?

51单片机,stm32,arduino都是用什么语言进行编程的?

简单的说,C语言。

具体一点:

  1. 51单片机:这是一款8位MCU(微控制器)平台,早期人们主要用其特有的51汇编语言编程。后来有了Keil C开发工具,开发人员逐渐转向使用C语言进行编程。注意这是一种不太标准的C方言。

    c语言的编程器
    图片来源网络,侵删)
  2. STM32:这是使用32位ARM Cortex-M系列的MCU平台,所以其开发方式和标准ARM Cortex-M系列相通,可以使用Cortex-M系列汇编语言,也可以使用C语言。这一平台可以使用标准C语言进行开发。

  3. Arduino:这是一个开源硬件平台,包含范围较广,从8位的***R MCU到32位的ARM Cortex-M系列,直到Intel的x86都有。所以要看具体是哪个平台(Arduino Yun, Arduino Uno,等等)。但基本上都支持一套特制的C方言。

51单片机,STM32单片机用汇编或者C语言,现在基本都用C语言编程,Arduino有自己的编程环境用户也是用C语言编程。

c语言的编程器
(图片来源网络,侵删)

51单片机的编程

51单片机进入中国比较早,在早前用汇编编程比较多,我在上大学时也是学习的汇编编程,但是现在我用C语言编程,汇编已经不会了。51单片机比较常用的编程环境是Keil,现在Keil更新到Keil5了。如下是51单片机Keil的编程环境。

STM32单片机的编程

c语言的编程器
(图片来源网络,侵删)

STM32单片机是意法半导体推出的高性价比、片上***丰富的32位单片机,这个系列的单片机我一直在用,都是用C语言进行编程,官方推出的库函数和HAL库都是用C语言编程的,虽然有一部分汇编共存。STM32单片机用Keil MDK进行编程。

Arduino的编程

Arduino是一款做的非常成功的开源硬件,并且有自己的开发环境,将底层寄存器设置都进行了封装,用户不用自己配置寄存器,调用封装好的函数即可,可以在官方网站下载编程IDE。Arduino旨在培养用户的编程兴趣,简化了技术难度,很受欢迎。

在用户层面,现在C语言编程已经是主流,C语言的移植性和可读性比汇编语言有很大的优势,也有很多人在使用汇编编程,尤其是涉及到底层时。

以上就是这个问题的回答,感谢留言、评论、转发。

更多精彩内容请关注本头条号:玩转嵌入式。感谢大家

java、C、c++Python同样是高级语言,为什么只有C和C++可以编写单片机程序

首先,C语言是比汇编高一个等级的语言,编程风格是面向过程编程,数据操作比较简单,且易实现,编写起来比汇编容易;C++是继C语言上起来的语言,有自己的库和很多通用的模板类,编程风格是面向对象,对数据处理进行了严格的封装,处理起来不太方便;Python就比较高级了,有更为专业的库,使用时只需调用接口函数。

簡單的說就是單片机的內存及cpu速度有限。像Java 這類需要JVM吃內存怪獸的直接淘汰,因為別說在上面開發JAVA,連jvm能否po上單片机都是問題。Python 雖說可以編譯成机械碼,但遠不如c來的簡潔扼要,所以c是最佳選擇。

作为985院校的本硕毕业生以及BAT的J***a开发工程师来回答这个问题。

也许你早就好奇了,什么是高级语言,那对应的有没有低级语言?

简单粗暴的解释,人类直接使用的语言就算高级语言,比如题主提到的,都是程序员编程时候直接使用的,相对于低级语言来说,更具有逻辑性,更容易阅读和编写。高级语言可以认为是对低级语言的封装,因此实现同样的功能,使用高级语言编写的程序更加短小精悍。

而与低级语言相对,就不是给人看的,而是给机器看的语言。所有高级语言在真正[_a***_]的时候,都要编译为低级语言,毕竟真正的执行者是机器。这里我们可以将机器语言和汇编看为低级语言,它们通常使用的是机器识别的01代码已经一些符号

单片机其实就是一个微型电脑,除了功能和性能上比我们家用电脑弱很多,其他内部重要构造一应俱全,用来做一些控制家用电器的工作足够了,比如洗衣机,微波炉什么的。

这些单片机通常都是用C/C++编写的。因为他们是编译型语言,是可以直接生成exe文件然后直接放在单片机内部运行的。而像J***a,属于解释型语言,它编译后的class文件是要放在jvm中才能运行的,直接放进单片机,人家根本理解不了。

如果偏要J***a写单片机程序,就需要把它的解释器烧进单片机且与单片机对接才行。这样做第一占用单片机有限的空间***,第二也会影响执行速度。你总不希望你点击微波炉的加热按钮,三秒钟之后它才反应过来开始加热吧。

菜农从1981年开始就涉足与嵌入式领域的编程,开始是汇编语言和宏汇编语言,后来是C语言及C++语言,其他语言可能有,但很少且无大出路。

因为嵌入式领域的编程与硬件有关,特别是芯片里的中断向量即函数指针,而C和C++被其他编程语言攻击和被抛弃的就是函数指针!

而嵌入式领域最需要的就是函数指针,它与结构和联合,可以构成“COM接口技术”,为芯片的中断向量或函数指针即地址加密。

而其他编程语言大多没有函数指针,故无法满足嵌入式领域编程的特殊需要,故以后或永远不可能完全替代C或C++,除非他不想保护他的代码被篡改或产品的克隆。


单片机能否提供程序所需的运行环境决定了某种语言能否用于单片机程序的开发。单片机的总线宽度决定了单片机存储空间的大小。其中,拥有32位总线的单片机的存储空间可达4GB,装个Linux差不多可以跑各种程序了。这里我们只讨论总线宽度在16位以下的单片机。

单片机上没有I/O设备,只有I/O接口,程序要以机器码的形式写入随机存储器(就是PC的内存)。主流单片机的总线宽度一般是16位,比如,51单片机。存储器空间最大能做到64K。一些单片机的存储空间只有256个字节甚至更小。这么小的存储空间容不下操作系统,所以能在单片机上跑的程序都得是原生的机器码。C/C++都能直接编译成原生的机器码程序,因此,广泛用于单片机程序开发。J***a需要虚拟机,基本上不能在单片上运行(JVM有几百M)。Python可以编译成C语言的原生程序,有可能在单片机上运行。但是,Python的程序里一般都带着一庞大的标准库,简单移植到单片机上不太可行,需要做一些定制化改造才有可能。这类语言不能移植到单片机上的原因主要是他们为了能在不同的操作系统上移植,使用了独立的运行环境,而这个环境的体量太大装不到单片机上。

最后科普一下高级语言的概念。机器码被称为第一代语言,汇编被称为第二代语言。其他语言都是高级语言。C/C++是第三代语言。J***a和Python被称为3.5代或者是第四代语言。主要是因为他们废除了内存操作指令。还有更高级的语言,SQL因为没有了变量定义(准备内存空间)被称为第四代或第五代语言。

汽车ECU用什么语言编程,汽车电脑维修的前景如何

看情况,我设计过车用ECU,不过不是汽油发动机,只是柴油发动机或发电机。上位软件C++自编,没用INCA,太贵了,为客户省钱。发动机ECU都是用单片机,发电机ECU用的是DSP(不好意思,用的是德州DSP,希望国产普及),都是C语言编程,前面有人说用C++或者汇编,我说你***本事。车用ECU无非是模拟量,开关量测控都有,主要特点

1、带了大容量控制脉谱图(MAP),一般MAP二维横纵起码16点以上(各模块不同),但是MAP里的数据必须做大量实验标定,这就需要实现快速通信及读写,或者先在大容量RAM里标定,最后好了一次性写到存储器里。

2、通信:我们将标定通信和平时监控通信分开的,标定通信数据量大,我们用485或K线,平时数据通信用CAN。

普通单缸:用STC单片机,很意外吧?很多人特别是三脚猫的些人很鄙视用STC的,就因为它国产?就因为它老板看上去像吹牛?单片机这玩意要选就选适合的,反正我们用下来蛮可靠的,没遇到什么莫名其妙的问题。唯一不好的是他们号称要出汽车级芯片,一直难产。

多缸机:freescale,飞思卡尔,汽车上广泛应用,编程没什么难度,也有协处理XGATE,自带CAN收发器,方便很多。

发电机:DSP28系列,其实是是发动机发电机一起集成控制,带液晶操作界面,关键要实时***集计算三相交流电电压电流功率频率各项参数(本来有专用芯片,没用),DSP难度比单片机稍难,但实际上很多模块都配有专门头文件跟c文件,因此很方便,现在市场上牛逼轰轰的STM32(我没用过,看别人编程,狗屎水平)我看就是学DSP。

至于汽车维修,ECU坏了,也没必要修的,检测比修还费钱,一般也不容易坏,坏也是***模块容易坏,如果改装,一般不会去也没那个本事改ECU程序,只是涉及到数据重新标定,弄到标定软件即可。但改装无非是加大喷油量,改变提前角,更改一些模块的控制MAP,但这是有风险的,轻则环保不过关,重则损坏发动机。

一般使用C语言编程。ECU一般***用通用且功能集成,开发容易的CPU;软件一般用C语言来编写,并且提供了丰富的驱动程序库和函数库,有编程器,仿真器,仿真软件,还有用于calibration的软件。汽车电脑维修是个前景很广阔的职业,随着中国步入汽车社会,越来越多的家庭或者个人购买汽车,这就给了汽车维修,尤其是高级汽车维修更广阔的空间。

汽车ecu就是通常讲的汽车电脑。

汽车ecu编程语言目前90%都是c语言编写,其中部分汇编语言,还有部分c++语言也会在汽车ecu使用。

汽车ecu目前主要还只是16位单片机,因此***有限,需要特定的驱动代码和配置。汽车电脑的维修,一般能做的也是重新刷写软件,刷写参数。真正的电路板损坏或者其他元器件坏了,只能重新更换新的ecu,然后刷写软件配置参数。

汽车电脑维修,没有手机电脑维修那么复杂,也没有太多技术含量。

但也许未来不久,汽车也会变成一个大的电脑。到那时候维修可能就会和手机电脑维修一样,市场广阔,收益很大的。

ECU维修,或者说是改装,实际上用不到编程语言,维修改装所谓的“编程”,实际上是“重新刷写数据或者软件”,数据、软件都是专门的改装公司做好一套一套的,这个数据是高增压的,那个数据匹配某种排气,那个数据提升50马力,那个数据屏蔽了尿素喷射的,那个数据不限扭……你所要做的就是确保刷写的数据和目标机型相匹配,不会出门就拉缸,就行了。真正的ECU软件设计门槛是很高的,不是单枪匹马能做的了,涉及到汽车理论、硬件、平台软件、操作系统、算法数据结构、标定、测试、通讯、试验,各种各样的行业标准等等,就算是没吃过猪肉也要看过猪跑才行,否则没法做这个行当。

别问我怎么知道的,我就是吃猪肉的。

不要学,工作环境脏乱差,没银子只能买一堆盗版设备,主要客户就是汽修厂,说白了就是接点修理厂干不好的疑难杂症,又限于当今4s技术垄断你很难获取一些技术服务器的账号,只能花钱到处求人才能在线编程设码,所谓的工程师软件培训也只能一知半解。不建议你学。

[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/12521.html

单片机语言编程
编程c语言用什么软件 vivo创新黑科技,vivo最新黑科技