[PIC®/AVR®/dsPIC®产品] CuriosityNano测评报告】+开发上手体验

[复制链接]
1401|11
 楼主| gaoyang9992006 发表于 2020-11-7 10:20 | 显示全部楼层 |阅读模式
感谢Microchip给我这次体验机会,以前还专门买过一套PIC18F系列开发的技术书籍,用的是淘宝买的那种个人做的开发板,现在终于有一块官方的开发板了,很是激动。
产地是马来西亚,看来Microchip的生产工厂建在马来西亚。




这是包装盒里面的所有东西,一块开发板,还有一个包装是排针,可以根据需要焊接到开发板上。

像一片口香糖,非常的精致小巧。
连接电脑看设备管理器与资源管理器

在设备管理器会看到该设备,如果缺少驱动,可以安装MPLAB X后自动安装

会在系统产生一个盘符,里面有相关文件
启动MPLAB X 在Kit Window窗口可以看到当前连接电脑的开发板的相关信息与相关资料链接,非常方便。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
MianQi 发表于 2020-11-7 10:31 | 显示全部楼层
期待下文。
 楼主| gaoyang9992006 发表于 2020-11-7 11:04 | 显示全部楼层

根据上述资源找到原理图,可以看到按钮与LED的电路连接情况,可知按钮为RB4引脚,按下之后是低电平,LED为RF3引脚,低电平点亮。

连接电路后,开发板除了电源指示灯,没有任何其他变化,应该没有烧录程序。接下来我们先尝试做一个Blink程序测试一下开发板。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| gaoyang9992006 发表于 2020-11-7 11:05 | 显示全部楼层

慢慢更。
 楼主| gaoyang9992006 发表于 2020-11-7 11:56 | 显示全部楼层
本帖最后由 gaoyang9992006 于 2020-11-7 11:58 编辑

第一步:启动创建新的工程向导,选择如下图所示选项

单击Next 进入下一步,选择芯片家族与具体型号

然后下一步,看看就好

继续Next,选择编译器

设置工程名字与存储路径,设置编码格式

单击Finish完成工程创建。
此时工程一切都是空的,没有源文件,我们通过MCC创建工程配置文件。

保存MCC配置文件到项目文件夹后,弹出MCC设置窗口,设置时钟如下配置,即可使用内部振荡器,本例子设置为4Mhz,分频为4,这样可以得到1Mhz主频,后面项目中验证。

然后在管脚选择图上设置RF3为输出,RB4为输入,这样就配置好开发板上的LED与按键的输出输入模式了。

在下面轻松设置的选项卡可以修改管脚的名字,比如你用于LED的,你可以修改成LED,按钮的可以修改成Button

配置个差不多了,就可以生成代码了,新手不要找不到位置,如下图所示。


生成的代码我们可以看看,已经自动给我们提供我们修改了自定义管脚名字的各种常用函数了。非常方便,不用自己再去实现这些基本的操作了。

接下来实现Blink功能。

简单的两句,调用延时函数库,使用LED翻转函数。自己一个函数都没写,全是图形化配置后自动生成的。
编译烧录,橙色的LED开始闪闪发光了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| gaoyang9992006 发表于 2020-11-7 12:03 | 显示全部楼层
  1. #include "mcc_generated_files/mcc.h"

  2. void main(void)
  3. {
  4. SYSTEM_Initialize();
  5. while (1)
  6.   {
  7.       DELAY_milliseconds(1000);
  8.       LED_Toggle();
  9.   }
  10. }

修改成如上所示,采用微秒延时函数,这样就可以2秒闪烁一次了。
 楼主| gaoyang9992006 发表于 2020-11-7 12:43 | 显示全部楼层
本帖最后由 gaoyang9992006 于 2020-11-7 12:45 编辑

按键测试:通过按键点亮LED,松手后1秒,关闭LED。
  1. #include "mcc_generated_files/mcc.h"

  2. void main(void)
  3. {
  4.     // Initialize the device
  5.     SYSTEM_Initialize();

  6. //设置内部上拉电阻,这样按下后就是拉低,松手就自动内部拉高
  7. Button_SetPullup();
  8.     while (1)
  9.     {
  10.         // 如果未高电平,说明没有按下,LED输出高,关闭LED
  11.       if( Button_GetValue())
  12.       {
  13.        LED_SetHigh();
  14.        DELAY_milliseconds(1000);      
  15.       }
  16.       else
  17.       {
  18.        LED_SetLow();  
  19.        DELAY_milliseconds(1000);      
  20.       }
  21.     }
  22. }
经过测试,达到需求的效果。
至此,完成了测评的第一步:建立工程开发环境,创建新工程的过程,通过MCC配置时钟与端口功能选择,生成常用函数。并点亮一个LED,实现通过按键控制该LED。
在该例程从建立工程到跑起来,我们没有查看该芯片的手册,没有了解该芯片的具体信息,但是我们依然通过MCC配置,实现了开发。这也是MCC图形化配置的神奇之处。
同时自动生成的基础函数通过名字就可以清楚的知道我们的端口对象该如何操作,而不用去关心底层寄存器。
yiyigirl2014 发表于 2020-11-7 12:52 | 显示全部楼层
感谢分享啊, 真棒,学会了,之前我用过,找半天没找对怎么生成代码的按钮。
yiyigirl2014 发表于 2020-11-7 13:32 | 显示全部楼层
还可以实现按键切换闪烁速度。
 楼主| gaoyang9992006 发表于 2020-11-7 13:37 | 显示全部楼层
本帖最后由 gaoyang9992006 于 2020-11-7 17:54 编辑

附上最终版的Blink项目工程,使用方法,放入你的MPLAB X的工作空间,例如我的在   C:\Users\你的用户名\MPLABXProjects

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
幸福小强 发表于 2020-11-7 22:06 | 显示全部楼层
多谢各位大佬分享啊。
xuanhuanzi 发表于 2020-11-9 12:03 | 显示全部楼层
感谢,经验啊。知道怎么用MCC了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:如果你觉得我的分享或者答复还可以,请给我点赞,谢谢。

2052

主题

16403

帖子

222

粉丝
快速回复 在线客服 返回列表 返回顶部