打印
[PIC®/AVR®/dsPIC®产品]

【CuriosityNano测评报告】+建立测试项目及开启定时器

[复制链接]
785|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
    前一个亮灯程序是在下载的范例基础上修改的,本次则从零开始建立一个全新的项目。    在MPLAB X IDE主窗口点击新建项目:


    在项目属性窗口中选择“独立项目”:


    在器件搜索窗口中输入关键字(例如15244),从下拉列表框中选择对应的器件:


    然后选择正确的编译器:


    最后输入项目名称和确定项目存放的文件夹,注意在下部的编码窗口选择相应的汉字字符集,否则程序(含注释)中无法输入汉字字符:


    点击“finish”按钮结束项目设置,此时项目框架就建成了,但还没有代码文件和头文件,这些文件可以通过代码配置器MCC来完成。在“Windows”下拉菜单中点击第一个选项“MPLAB Code Configurator”(也可以直接点击工具栏上的MCC图标),进入代码配置器:


    通常是将MCC文件保存在默认的位置,直接点击“保存”。之后便正式进入到代码配置器界面:


    选择好使用内容时钟(详见上图),然后在下面的引脚图上RA2(LED)设置为output,RC2(KEY)设置为input。我选用的是定时器0来作毫秒定时,添加好定时器0并按下图设置:


    最后一个设置项目不要漏了(因为需要下拉到最后才能看到,很容易漏设置):


    设置好之后点击左上部的“Geberate”按钮生成代码文件。然后退出MCC(再点击一次MCC图标),就可以添加代码了。不过有时退出MCC后会遇到无法编辑代码的情况,此时可退出MPLAB X IDE之后再重新进入一次就行。
    先在main.c文件中定义一个16位的全局变量ms,然后在主函数中打开中断并启动定时器0,在主循环中写入执行代码:
uint16_t ms;

/*
                         Main application
*/
void main(void)
{
    // initialize the device
    SYSTEM_Initialize();
    // When using interrupts, you need to set the Global and Peripheral Interrupt Enable bits
    // Use the following macros to:
    // Enable the Global Interrupts
    INTERRUPT_GlobalInterruptEnable();
    // Enable the Peripheral Interrupts
    INTERRUPT_PeripheralInterruptEnable();
    // Disable the Global Interrupts
    //INTERRUPT_GlobalInterruptDisable();
    // Disable the Peripheral Interrupts
    //INTERRUPT_PeripheralInterruptDisable();
    TMR0_StartTimer();
   
    while (1)
    {
        // Add your application code
        if(ms>499){
            ms = 0;
            LED_Toggle();
        }
    }
}



    在tmr0.c文件中也定义好外部变量ms:


    然后在中断函数中写入ms++:



    最后编译下载烧录到评估板上,LED灯便按照1秒的频率闪烁起来了,下面是动画:



    下面是测试项目的压缩包:
MyTest.X.rar (185.89 KB)

使用特权

评论回复
沙发
yangjiaxu| | 2021-1-3 21:31 | 只看该作者
MPLAB X IDE功能还是很强大的,初始化外设配置时钟之类的很棒

使用特权

评论回复
板凳
CoolSilicon| | 2021-1-4 11:33 | 只看该作者
X IDE里面的MCC对底层的配置功能还是非常棒的!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:Microchip
简介:让我们来为您提供帮助。我们可提供各种资源来帮助您解决一切问题。是否需要与我们的客户支持团队联系?您可以通过电话、在线聊天功能或电子邮件与他们联系。

151

主题

1059

帖子

11

粉丝