pic编译
‘壹’ 一般8位PIC单片机使用c语言还是汇编语言编程,好像编译器不是支持所有类型的单片机
PIC单片机的C语言编译器是分类支持各类PIC单片机的。
一般做工业产品的公司大多用汇编来编写程序,原因有:
1:pic的8位单片机一般ROM和RAM都相对较小,而现在的PIC的C编译器在优化方面做的不是很好,简单的一个C语句编译器能编出很多行汇编代码。所以有些开发人员认为用c还不如直接用汇编写。
2:因为PIC的C编译器不是免费的,破解版的又存在一些逻辑漏洞什么的。而用pic单片机应用的大多是一些需要稳定性极高的控制场合,所以很多开发公司都干脆直接使用汇编来写。
‘贰’ 编译GNU/Linux共享库,为什么要用PIC编译
不是共享库,而是动态库 (dynamic library)。 动态库的意思是库内的地址是在load时刻才由loader动态决定的,所以和静态库不同,编译出来的动态库代码必须是 “位置无关代码” (PIC: position-independant code)
‘叁’ PIC MPLAB编译器到底用哪个
首先你说的这些都是PIC单片机的C语言编译器。PICC都是HITECH公司针对PIC系列的C语言编译器。CCS是另一个公司的。他们跟Microchip(PIC单片机的生产商)都没有关系,属于第三方软件。在MPLAB里出现只是他们公司间的合作,捆绑上这些编译器的试用版(试用三十天)。
如果你用PIC18、pic24或dsPIC30/33这些单片机的话。推荐使用Microchip自己出的C编译器MPLAB C18(对应PIC18),MPLAB C30(pic24和dsPIC30/33)。因为这些编译器的编译效率要优于其他第三方,并且有Microchip的官方应用文档支持。
而pic10、pic12、pic16等系列的8位单片机因为内部的程序区比较小,Microchip并没有推出针对他们的C语言编译器。而CCS和HITECH则有针对他们的c语言编译器。就编译效率来说。CCS是最好的,但它在中国的的技术支持却很少。大部分的软件使用文档都是英文的。在国内的应用也没有HITECH的picc那么好。如果这三种系列的单片机,推荐用PICC。
另外,上述的所有编译器除了MPLAB C30在ICD2附送的光盘里有学生版(只针对dsPIC30/33,免费版)外,其他的所有针对PIC单片机的C编译器都是收费的。最便宜的是PICC for pic12/16 ,好像才800多。
不过…… …………………… 网上有破解版本的。哈哈。
另外,如果是用pic10、pic12、pic16等系列的8位单片机,推荐不要先用C语言写程序。用MPLAB捆绑的汇编编译器(这是免费送的)。虽然学起来比较费劲,但能让你更好的了解PIC单片机。毕竟现在外头好多用PIC单片机的企业都要求用汇编写程序(就为了最大效率的使用程序存储器)。
‘肆’ PIC的编译器CCS与PICC的语言有什么不同的地方,两者可以相互移植吗
对于标准的ANSC C语言部分没什么问题,如用C语言的数据类型写的简单算法之类,可以互相移植。
对于单片机编译而言,
PICC的C语言按ANSI C来定义,并进行了C语言的扩展。PICC和ANSI C有一个根本的区别就是,PICC不支持函数的递归调用。
CCS也是C语言,但也不是标准的ANSI C语言,它的头文件定义与ANSI C语言不同,所以它的程序和PICC不能混着编译,两者之间也不能混着移值。针对CCS编写的程序只能用CCS的编译器编译,用PICC编译只能报错,反之亦然。
‘伍’ PIC单片机16系列的使用什么编译器
编译器使用的XC8,16系列是8位的单片机用的比较多的就是XC8
‘陆’ pic单片机可以用c编程吗用什么编译软件他是属于51系列的吗
PIC单片机可以用C,
编译环境(也就是编程软件)为MPLAB,他不属于51系列.