用在PIC的C语言能移植到51上吗

用在PIC的C语言能移植到51上吗,第1张

有的东西是可以移植的,C语言源代码本身就具有很强的可移植性。

但是你要修改一下寄存器的设定。比如说PIC单片机的PORTA口51单片机是没有的,只有P0,P1,P2,P3口。

还有51单片机不像PIC单片机要定义输入口还是输出口的。所以你初始化的如TIRSA=0xff之类的语句就要删除。

还有一点很重要PIC的功能远远强于51。有很多功能51单片机没有的(比如A/D啊,内部RC振荡啊)而PIC单片机内部有的。这些你都要删除或者改写。我个人的建议是你最好不要移植,在写一个算了。

对于标准的ANSC C语言部分没什么问题,如用C语言的数据类型写的简单算法之类,可以互相移植。

对于单片机编译而言,

PICC的C语言按ANSI C来定义,并进行了C语言的扩展。PICC和ANSI C有一个根本的区别就是,PICC不支持函数的递归调用。

CCS也是C语言,但也不是标准的ANSI C语言,它的头文件定义与ANSI C语言不同,所以它的程序和PICC不能混着编译,两者之间也不能混着移值。针对CCS编写的程序只能用CCS的编译器编译,用PICC编译只能报错,反之亦然。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11690499.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存