3132|2

86

帖子

0

资源

一粒金砂(中级)

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

有个项目一直用的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的端口翻转周期。。。也就是说成了高速定时器中断开启,低速关闭了。。

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

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

回复

650

帖子

2

资源

版主

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

回复

3295

帖子

0

资源

纯净的硅(中级)

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

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

查找数据手册?

EEWorld Datasheet 技术支持

最新文章 更多>>
    关闭
    站长推荐上一条 1/10 下一条

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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