针对不同的单片机,有不同的编译器,每种单片机的c语言编译器都对c语言做了适用于单片机的扩展。
编译器在编译单片机c语言的代码时要有一些设置选项或者makefile之类的设置,这些设置对了,程序才能适应选定的单片机。
有很多编译器为了让单片机程序更适合用c语言,还将一些固定的程序(比如中断入口、主程序入口、时钟设置等)用汇编写好后,嵌入到c语言程序的工程中,使C语言更适合单片机编程。
做了这么多工作后,用这种编译器编译的程序就可以下载到单片机中执行了。
当然会了,只是有一些具体的值编译器帮你完成了,指针就是地址。
该只能支持stc89c52rc。sudo python :
sbit led1=P1^0 改为 #define led1 P1_0
中断函数interrupt改为__interrupt
单个位 P1^0 改为P1_0
若vim安装插件YCM的话usr/shareǘsdcc/include/mcs51
没创建一个工程都要拷贝一份.ycm_extra_conf.py到该工程的目录下。我自己亲自试过。
3.编译用命令
` sdcc 目标文件
4.烧录用stcflash.py,不支持stc89c52./stcflash,要在.ycm_extra_confinclude
47.py加入以下两个路径
/usr/share/sdcc47
1.编译软件用sdcc2.sdcc不支持keil51c 的一些语法。要做以下修改:
sbit led1=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 目标文件
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)