找回密码
 注册
关于网站域名变更的通知
查看: 411|回复: 1
打印 上一主题 下一主题

编程环境与编译器的使用问题疑惑

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-20 14:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
有个项目一直用的PIC16F1937,一直用的MPLAB IDE V8.92,编译器用的HI-TECH C Compiler for PIC10/12/16 mcus (PRO Mode)  V9.82% [0 {3 R8 r0 M( z
这两天有个程序遇到点问题就试着换到MPLAB X IDE V4.00,编译器装的XC8 V1.43. 然后根据提示修改了配置字的写法,还是出现一堆问题。 同时发现之前的那个HI-TECH C Compiler for PIC10/12/16 MCUs (PRO Mode)  V9.82竟然还能用,就换到这个,配置字又根据提示换了一种,编译倒是能顺利通过。
6 Q8 S2 k. N! X之后又装了个XC8 V1.41然后破解了也能编译通过,只是下载程序后发现运行效果跟HI-TECH这个差别很大,电路带液晶显示的,结果XC8那个图标有几个不亮。。换到HI-TECH就正常。
1 B9 c8 y% H# V8 w然后又通过示波器观察,发现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的端口翻转周期。。。也就是说成了高速定时器中断开启,低速关闭了。。0 ?: A& J* b1 i2 k/ |9 c, v/ Y

7 w- A5 ~! i1 V5 F& V% K这测试表明,同样编译器下编程环境不一样实际程序不一样。而编程环境一样的情况下,编译器不一样时实际程序也不一样。。。。我都搞晕了。。
- G" b6 ~- F/ W$ O, |
$ K, U6 G" ]+ B: x1 ^1 E  ~, I$ G$ o这各种版本都有什么使用上的区别啊?我实际只看到配置字的区别。。听说不同编译器头文件里定义的很多东西也不一样,但是我没发现。。4 N( _, o2 C  Q/ I: q5 q

该用户从未签到

2#
发表于 2020-1-20 18:30 | 只看该作者
一般来说,不同的C编译器,编译同一段程序还是有区别的( f$ i7 W( z3 r( m; I% B
PICC8.93是第三方编译器,目前来看只适用于WINDOWS平台9 h; h5 b, {- C4 k. \+ ]3 p
XC是Microchip官方的编译器,可以跨平台使用
) e! P# s7 Q8 ?$ d* V' |这样,就造成XC的程序编写要严格点,而内部的编译器针对跨平台优化,与PICC编译结果是不一样的.
' m5 ^* Z- P# c8 d3 e建议PICC还是在MPLAB8下使用
8 w' ~3 T& B4 H; ^+ C4 LMPLAB X还是用XC吧.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 16:16 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表