是的,但你疑问的问题也是存在的。
针对不同的单片机,有不同的编译器,每种单片机的c语言编译器都对c语言做了适用于单片机的扩展。
编译器在编译单片机c语言的代码时要有一些设置选项或者makefile之类的设置,这些设置对了,程序才能适应选定的单片机。
有很多编译器为了让单片机程序更适合用c语言,还将一些固定的程序(比如中断入口、主程序入口、时钟设置等)用汇编写好后,嵌入到c语言程序的工程中,使C语言更适合单片机编程。
做了这么多工作后,用这种编译器编译的程序就可以下载到单片机中执行了。
当然会了,只是有一些具体的值编译器帮你完成了,指针就是地址。
2. linux下怎么编译单片机c代码,怎么下载到51单片机上呢
1.编译软件用sdcc
2.sdcc不支持keil51c 的一些语法。要做以下修改:
sbitled1=P1^0; 改为 #define led1 P1_0
中断函数interrupt改为__interrupt
单个位 P1^0 改为P1_0
若vim安装插件YCM的话,要在.ycm_extra_conf.py加入以下两个路径
/usr/share/sdcc/include
/usr/share/sdcc/include/mcs51
没创建一个工程都要拷贝一份.ycm_extra_conf.py到该工程的目录下。
3.编译用命令
` sdcc 目标文件
4.烧录软件用stcflash.py,该软件只能支持stc89c52rc,不支持stc89c52。我自己亲自试过。
sudo python ./stcflash.py 目标文件
3. 单片机和Linux哪个好点,有啥建议吗
这两个事并不是同类,没法比哪个好。单片机属硬件应用范畴,即要学电路,需要很多硬件电路知识,还要学编程。而Linux是操作系统,属软件编程范畴,几乎是用电脑就行了。所以,看你喜欢硬件还是软件了,及工作方向是哪方面的。就单片机而言,目前涉及到的范围也是很宽的,单片机只是泛指了。
4. 单片机c语言编程软件有哪些
windows下首选VS,版本至少vs2005以上,或者用最新的VSCode,不过需要自己配插件,好处是免费,如果做单片机c开发首选eclipse,linux下如果做单片机首选eclipse,其次是clion。eclipse兼容性最好,不过稳定性差一些,vs在win下没有对手,clion用cmake,相比来说大部分c程序用的都是makefile,需要适应一下。
Devc++:这个IDE是windows环境下的,操作简单,功能也不弱,适合新手使用。
Codeblocks(强力推荐):功能比较强大的c/c++IDE,有着不错的智能提示。
拓展资料
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少悉厅量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSIC,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字蠢困函数名和汉字标识符,一定程度上实现了汉字编程。
C语睁档隐言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、TurboC等。
编译器
GCC,GNU组织开发的开源免费的编译器
MinGW,Windows操作系统下的GCC
Clang,开源的BSD协议的基于LLVM的编译器
VisualC++::cl.exe,MicrosoftVC++自带的编译器
集成开发环境
CodeBlocks,开源免费的C/C++IDE
CodeLite,开源、跨平台的C/C++集成开发环境
OrwellDev-C++,可移植的C/C++IDE
C-Free
LightTable
VisualStudio系列
HelloWorld