12月份在登陆官网的时候发现更新了MPLAB IDE,安装MPLABX+XC16,一番手忙脚乱,HELP文档多次后终于新建
新的MPLAB X+XC16编译器界面比之前好看了不少,按照向导新建工程,编写测试程序,编译,仿真调试,编程,和之前的IDE还是有一定的兼容,花了一天的时间终于搞定。
实际上是很划算的,使用了几天以后发现新的IDE确实有了很多以人为本的功能,包括颜色区分以及窗口的排布方面。
新建工程→选择新建一个标准的嵌入式工程→选择PIC24HJ128GP506芯片→选择工具为KIT3→选择C30编译器,然后就OK了,然后新建一个源码文件,选择文件类型为带STDIO的C文件。
现在问题来了,选择最新下载的X16的编译器没法找到,然后按照help文档,在TOOLS-OPRATION里面可以设置,把BIN添加进去就可以了,然后关掉软件重开,新建一个工程,OK,可以了。新建文件的时候,应该要选择嵌入式的文件,里面可以选择X16类型的,然后尝试一下编写程序,发现惊喜:
自动识别错误和自动组织程序的框架,比如空格。
#include "xc.h"
int main(void) {
unsigned char i;
// i=0;
for(i=0;i<10;i++)
{
Nop();
}
return 0;
}
配置位,配置位的配置按照下面的步骤:
需要将代码拷贝到main函数前面,而不能直接在MPLABX里面设置。配置完后生成的代码如下:
调试代码:
- 断点
- 设置CTRL+F8设置,按一次取消。
- 可以设置断点位置为事件,地址,行号,数据等
- 还可以设置断点序列
- 还可以断点相与
- 还可以测试两个断点之间的时间,还可以在DASHBOARD里面查看断点使用情况。
- 单步运行代码
- 可以查看器件MEMORy
如果将外设的模块加进去,发现弹出错误:
具体是:
这就奇怪了,明明安装文件里面有这个头文件啊,用source insight打开后,发现 :
定义了这颗芯片,会自动将这个头文件加入进去。
疑问解决了,如果main函数的C文件里面添加了该外设的头文件,才会显示文件里面的亮色。如
#include<i2c.h>
并且所选的芯片自动添加进去的头文件里面包含了
#define _MI2C1IF IFS1bits.MI2C1IF
这条,则开始在在I2C的头文件中显示亮色,亮色部分表示定义有效:
而这个头文件的宏定义:
#if defined(__dsPIC30F__)
#include <p30Fxxxx.h>
#elif defined(__dsPIC33F__)
#include <p33Fxxxx.h>
#elif defined(__PIC24H__)
#include <p24Hxxxx.h>
#elif defined(__PIC24E__)
#include <p24Exxxx.h>
#elif defined(__dsPIC33E__)
#include <p33Exxxx.h>
#endif
应该是在编译器中自动进行了判断的,比如,所有系列的芯片都要用到的头文件,则不会有这个宏定义的说明。
从上面可以看出:
在IDE中选择芯片,编译器会自动添加一个头文件,头文件里面会定义芯片的资源,如果有这个资源,则要看C函数中是否包括了该头文件,如果头文件包括了,用亮色来显示该资源可用。
这里还有一个小工具可以用,就是:
可以在头文件和源文件中进行切换,但是要注意,这个文件名必须是相同的。
文章评论(0条评论)
登录后参与讨论