C18是MCHP老早针对PIC18高端片子自己出的编译器环境,可能是用户覆盖面的原因,个人感觉比PIC16上的Hi-tech PICC要难用很多。
针对不同的单片机要安装不同升级包,因为官方的头文件支持一直在更新;使用较新的单片机时,建议安装最新的C18 upgrade installation升级包。
下面说说不同之处和比较难配置的关键的几个点:
-------------------------------------------------------------------------------------
#pragma指令:
这个C/C++语言常见的预处理指令,是用来定位代码区域的,定位到RAM区和ROM区,以及类似Config关键配置字的作用。这个跟Freescale的HCS08/12系列单片机的Codewarrior环境风格有点像。这玩意儿是编译器相关的,也就是说有的编译环境支持,有的压根不支持,所以得仔细去读C18文档。。。头大。我就做个简单学习加翻译了!
-
# pragma udata [ 属性列表] [section-name [=address]]
-
# pragma idata [ 属性列表] [section-name [=address]]
-
# pragma romdata [overlay] [section-name [=address]]
-
# pragma code [overlay] [section-name [=address]]
但是每个PIC18器件的设定值并不相同,不能闭着眼睛猜,官方的C18用户手册是这么说的:
2.9.5.1
语法
pragma-config伪指令:
# pragma config setting-list setting-list:setting | setting-list, setting setting: setting-name = value-name
setting-name和value-name是特定于器件的,可通过使用 --help-config命令行选项来确定。另外,P