原创 PIC24HJ单片机学习笔记-MPLABX入手

2014-1-16 06:58 5487 14 14 分类: MCU/ 嵌入式 文集: PIC24HJ单片机自学笔记
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;
}
配置位,配置位的配置按照下面的步骤:
调试代码:
  • 断点
    • 设置CTRL+F8设置,按一次取消。
    • 可以设置断点位置为事件,地址,行号,数据等
    • 还可以设置断点序列
    • 还可以断点相与
    • 还可以测试两个断点之间的时间,还可以在DASHBOARD里面查看断点使用情况。
  • 单步运行代码
  • 可以查看器件MEMORy
    • 查看MEMORY
    • 改变MEMORY的值

如果将外设的模块加进去,发现弹出错误:
20140116064843285.jpg
具体是:
20140116064859806.jpg
这就奇怪了,明明安装文件里面有这个头文件啊,用source insight打开后,发现 :
20140116064919928.jpg
定义了这颗芯片,会自动将这个头文件加入进去。

疑问解决了,如果main函数的C文件里面添加了该外设的头文件,才会显示文件里面的亮色。如
#include<i2c.h>
并且所选的芯片自动添加进去的头文件里面包含了
#define _MI2C1IF IFS1bits.MI2C1IF
这条,则开始在在I2C的头文件中显示亮色,亮色部分表示定义有效:
20140116064942285.jpg
而这个头文件的宏定义:
#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函数中是否包括了该头文件,如果头文件包括了,用亮色来显示该资源可用。

这里还有一个小工具可以用,就是:
20140116065002722.jpg
可以在头文件和源文件中进行切换,但是要注意,这个文件名必须是相同的。















PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
14
关闭 站长推荐上一条 /3 下一条