4482|2

111

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

编程环境与编译器的使用差别 [复制链接]

有个项目一直用的PIC16F1937,一直用的MPLAB IDE V8.92,编译器用的HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode)  V9.82
这两天有个程序遇到点问题就试着换到MPLAB X IDE V4.00,编译器装的XC8 V1.43. 然后根据提示修改了配置字的写法,还是出现一堆问题。 同时发现之前的那个HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode)  V9.82竟然还能用,就换到这个,配置字又根据提示换了一种,编译倒是能顺利通过。
之后又装了个XC8 V1.41然后破解了也能编译通过,只是下载程序后发现运行效果跟HI-TECH这个差别很大,电路带液晶显示的,结果XC8那个图标有几个不亮。。换到HI-TECH就正常。
然后又通过示波器观察,发现MPLAB X IDE V4.00 + HI-TECH这个跟MPLAB IDE V8.92 +HI-TECH这个实际效果还不一样。。。我程序中是用的内部两个时钟间隔500ms来回切换(4MHz和最低的31KHz),同时在31KHz时定时器0设置的20ms中断开启并用了一个I/O端口翻转来外部监测,高速时关闭定时器0中断。结果实际MPLAB X IDE V4.00 + HI-TECH中实际示波器观察到的是160us的端口翻转周期。。。也就是说成了高速定时器中断开启,低速关闭了。。

这测试表明,同样编译器下编程环境不一样实际程序不一样。而编程环境一样的情况下,编译器不一样时实际程序也不一样。。。。我都搞晕了。。

这各种版本都有什么使用上的区别啊?我实际只看到配置字的区别。。听说不同编译器头文件里定义的很多东西也不一样,但是我没发现。。

最新回复

学习  详情 回复 发表于 2017-9-23 18:32
点赞 关注
 

回复
举报

638

帖子

2

TA的资源

版主

沙发
 
一般来说,不同的C编译器,编译同一段程序还是有区别的
PICC8.93是第三方编译器,目前来看只适用于WINDOWS平台
XC是Microchip官方的编译器,可以跨平台使用
这样,就造成XC的程序编写要严格点,而内部的编译器针对跨平台优化,与PICC编译结果是不一样的.
建议PICC还是在MPLAB8下使用
MPLAB X还是用XC吧.
 
 
 

回复

3241

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
学习
 
个人签名为江山踏坏了乌骓马,为社稷拉断了宝雕弓。
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表