随着这两年Microchip对MPLAB X和XC系列编译器的主推,MPLAB和Hi-tech编译器渐渐停止了更新和维护,所以建议你之前建立在MPLAB和Hi-tech底下的工程移植到MPLAB X和XC编译器下,当然为了兼容,MPLAB X也支持Hi-tech编译器,你可以在MPLAB X下编辑,编译继续使用Hi-tech,但是小猿不建议你这样做。在确保不影响产品功能和性能的前提下,怎么样将之前老的工程移植到新的开发环境和编译器下呢,因为两个平台的头文件不一样, 配置字语法也不一样,所以经过小猿亲身实践,移植时候需要注意两点即头文件和配置字
例如我们以基于PIC18F46K22芯片的一个工程为例,则涉及需要更换的头文件有pic18.h ,htc.h,pic18f46k22.h,pic18_chip_select.h(老的工程为chipselect.h), 需要添加的头文件有xc.h
配置字语法有改变,在老工程和新工程中有很大区别,需要正确修改,在MPLAB下基于Hi-tech编译器,则芯片的配置字可以如下格式语法配置
__CONFIG(1, FOSC_HSHP & PLLCFG_ON & PRICLKEN_ON & FCMEN_ON & IESO_ON);
__CONFIG(2, PWRTEN_ON & BOREN_OFF & BORV_285 & WDTEN_ON & WDTPS_512);
__CONFIG(3, CCP2MX_PORTC1 & MCLRE_EXTMCLR);
__CONFIG(4, LVP_OFF);
那么在新的MPLAB X IDE和XC8编译器下,需要修改配置字为如下语法格式:
#pragma config IESO = ON,FOSC = HSHP,PLLCFG = ON,PRICLKEN = ON,FCMEN = ON
#pragma config PWRTEN = ON,BOREN = OFF,BORV = 285,WDTEN = ON,WDTPS = 512
#pragma config CCP2MX = PORTC1,MCLRE = EXTMCLR
#pragma config LVP = OFF
主要参考MPLAB X安装目录下的
C:\Program Files\Microchip\xc8\v1.20\docs\chips\18f46k22.html 文件。
其他基于16位,32位的片子,配置方法类似,也有类似的参考文件。如果您是新开的工程,建议直接使用新的开发环境和编译器,不在使用Hi-tech编译器,要与时俱进。