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

【CuriosityNano测评报告】PIC18F57Q43开发环境及LED测试

[复制链接]
1312|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 jinglixixi 于 2022-7-13 16:35 编辑

PIC18F57Q43Curiosity Nano评估工具包是一款可随身携带的小巧开发板,并具有完整的编程和调试功能,并且预编程了固件,可立即着手开发。
该工具包是采用MPLAB® X集成开发平台和MPLAB代码配置器(MCC),来访问PIC18F57Q43上的智能模拟及独立于内核的外设。MCC是一种免费的图形化编程工具,可以配置用户应用的丰富外设和功能。
该工具包的外观如图1所示,其扩展接口是采用免焊接技术,可直接将排针别入焊孔来使用。
1 外观
在使用USB数据线连接工具包与电脑后,除电源灯被点亮外并无太大的变化,见图2所示。
2 上电
此时,在电脑上倒是有许多的变化,实现是电脑在自动安装驱动,然后就会弹出U盘的图标。
若打开设备管理器,还会见到新增加的虚拟串口,只是并没有什么信息输出。
3 虚拟串口上电
由于先前曾使用过多款Microchip的产品,故电脑中装有MPLAB X IDE 其版本是v5.5,于是便下载了相应的LED例程来进行测试。
该例程的内容如下:
#include "mcc_generated_files/system/system.h"

/*
    Main application
*/

int main(void)
{
    SYSTEM_Initialize();
    INTERRUPT_GlobalInterruptEnable();
    while(1)
    {
        __delay_ms(2000);
        LED0_SetHigh();
    }
}

由该工具包的引脚分配图如图4所示,从中可知LED0所连接的引脚为RF3SW0所连接的引脚为RB4
4 引脚分配
由此可知,该程序的作用是当中断被触发时,LED0被点亮;平时LED0输出高电平并进行2秒的延时。
5 测试效果
那谁来触发中断呢?
通过对中断处理函数的分析可知,是按键SW0。另外,从MCC的引脚配置上也可得到印证,将图6所示。
6  引脚配置
也就是说当按下SW0时,LED0被点亮,因为LED0是低电平点亮,见图7所示。
void RB4_DefaultInterruptHandler(void)
{
    LED0_SetLow();
}

7  LED0电路
值得指出的是在实际操作过程中,其设计的效果并不理想,当手指悬于按键SW0上方按下时,近于无效;当手指夾于SW0右下方时,触动按键则效果明显。
那这是为什么呢?
初步考虑是用于SW0没有进行电位上拉的缘故,见图8所示。
在手指夾于SW0右下方时,会借助手指将LED0的高电位传递到SW0,故效果明显。
8  SW0电路
那么能不能不提供中断来控制LED0呢?
当然是可以的,况且还不是一种方式。
方式1
取出中断处理,直接输出高低电平来使LED0闪烁,其程序如下:
int main(void)
{
    SYSTEM_Initialize();
    // INTERRUPT_GlobalInterruptEnable();
    while(1)
    {
        __delay_ms(2000);
        LED0_SetHigh();
        __delay_ms(2000);
        LED0_SetLow();
    }
}

方式2
直接使用函数LED0_Toggle()来实现,其程序如下:
int main(void)
{
    SYSTEM_Initialize();
    while(1)
    {
        __delay_ms(2000);
        LED0_ Toggle ();
    }
}

2种方式其效果是完全一致的,但似乎使用LED0_Toggle()的效率更高些。
那么使用MPLAB X IDE v5.5是不是最好呢?
在使用MCC进行配置后,会出现配置的引脚在主程序中无法使用的问题,即编译时会出现报错,无法完成编译。
最终只好将MPLAB X IDE 的版本更新到v6.0,相关的软件可使用下面的链接来下载。

  • MPLAB® X IDE 6.0.0 or newer (MPLAB® X IDE 6.0)
  • MPLAB® XC8 2.35.0 or newer compiler (MPLAB® XC8 2.35)
  • MPLAB® Code Configurator (MCC) 5.1.0 or     newer (microchip.com/mplab/mplab-code-configurator)
  • MPLAB® Code Configurator (MCC) Melody 2.0.46 or     newer (microchip.com/en-us/tools-resources/configure/mplab-code-configurator/melody)
  • Microchip PIC18F-Q Series Device Support     (1.13.211) or newer (packs.download.microchip.com/)


当在安装
MPLAB X IDE v6.0之后,也呈现一个问题就是在使用MCC时,有时会出现长时间不予响应的现象,用起来有些不适。

使用特权

评论回复
沙发
gygp| | 2023-2-2 13:26 | 只看该作者
PIC18单片机开发用哪个工具最好

使用特权

评论回复
板凳
jinglixixi|  楼主 | 2023-2-3 11:36 | 只看该作者
gygp 发表于 2023-2-2 13:26
PIC18单片机开发用哪个工具最好

基本上是用 MPLAB X IDE ,但安装MCC比较烦人。

使用特权

评论回复
地板
mattlincoln| | 2023-2-4 19:57 | 只看该作者
pic kit3 找不到18f46k80吧  

使用特权

评论回复
5
bestwell| | 2023-2-8 21:07 | 只看该作者
pic16单片机中断有优先级吗              

使用特权

评论回复
6
adolphcocker| | 2023-2-16 14:05 | 只看该作者
如何调试PIC18F57Q43的堆栈

使用特权

评论回复
7
jkl21| | 2023-2-16 16:03 | 只看该作者
用什麼编程软件写PIC18F57Q43的

使用特权

评论回复
8
jinglixixi|  楼主 | 2023-2-17 10:10 | 只看该作者
jkl21 发表于 2023-2-16 16:03
用什麼编程软件写PIC18F57Q43的

MPLAB X IDE

使用特权

评论回复
9
louliana| | 2023-3-9 13:14 | 只看该作者
PIC 18 单片机能不能达到时钟频率40M

使用特权

评论回复
10
jinglixixi|  楼主 | 2023-3-10 00:14 | 只看该作者
louliana 发表于 2023-3-9 13:14
PIC 18 单片机能不能达到时钟频率40M

资料介绍可达64MHz

使用特权

评论回复
11
pmp| | 2023-3-10 11:19 | 只看该作者
求分享一些18系列PIC单片机中文资料

使用特权

评论回复
12
wengh2016| | 2023-3-10 13:50 | 只看该作者
用pic18系列单片机实现脉冲计数,脉冲频率最大允许是多少?

使用特权

评论回复
13
maudlu| | 2023-3-10 14:28 | 只看该作者
PIC18F57Q43单片机支持canfd吗?

使用特权

评论回复
14
jinglixixi|  楼主 | 2023-3-10 21:56 | 只看该作者
maudlu 发表于 2023-3-10 14:28
PIC18F57Q43单片机支持canfd吗?

没见到相关的介绍

使用特权

评论回复
15
jinglixixi|  楼主 | 2023-3-10 21:57 | 只看该作者
wengh2016 发表于 2023-3-10 13:50
用pic18系列单片机实现脉冲计数,脉冲频率最大允许是多少?

找个信号源实测一下

使用特权

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

本版积分规则

464

主题

2780

帖子

38

粉丝