搜索

[8/16位单片机] 【CuriosityNano测评报告】+基于Curiosity Nano开发板的呼吸灯编程

[复制链接]
1373|4
 楼主 | 2020-8-11 22:04 | 显示全部楼层 |阅读模式
本帖最后由 小卡 于 2020-8-31 14:00 编辑

试验目标:使用Curiosity Nano开发板实现LED呼吸灯

一、初识开发板,准备好硬件
       二姨家举办申请“Curiosity Nano开发板”活动,第一波申请没有选中,本着不离不弃原则,第二波又申请了,终于选中了,哈哈。拿到板子看见包装感觉很正规,不错!拿到开发板,看上去很不错,
1.板载烧录下载器,这就爽歪歪了,估计要下驱动;
2.排针是单独的,顺手给他焊上去;
3.供电是USB口,我要准备USB线 ;
有这几样就满足我测试需求了,好了,开动。

0000硬件.jpg


二、到官网找资料看看,开发工具装起来
从活动介绍看,这个开发板要用指定的开发工具,上官网(www.microchip.com )找些资料看看,我安装的是AtmelSTART,我的这台老电脑是在太久了,安装了半个多小时才安装完成。
在AtmelSTART安装完成后就同时安装好烧录器的驱动了。将开发板用USB接入电脑,在设备管理器中可以看见:Microchip Tools\Curiosity Data Gateway、便携设备\CURIOSITY、端口\Curiosity Virtual Com Port,下图这样子就意味驱动安装好了:

111驱动.png

再打开AtmelSTART软件,在首页可以看见识别开发板,如下图所示:

2222界面.png

至此,烧录器USB驱动和开发工具AtmelSTART就完美安装完成了。

三、搭建环境,芯片的PACK下载安装
在AtmelSTART里可以直接更新PACK,就是速度较慢,需要的PACK为:AVR-Dx_DFP,如下图所示:

3333更新PACK.png

4444安装pack.png


我特意留意一下这个PACK,安装在如下位置,整个目录也不大,但是下载很慢,如果可能,也可以离线下载再双击安装也可以的。

5555PACK——OK.png


四、参考例程,学习学习
从官网直接下载了一个DEMO程序,修修改改最快速,在官网有个START,网址:https://start.atmel.com/,我感觉很牛13,好像是根据配置实时生成的源代码然后打包,这种在WEB中生成代码的功能很强大,感觉很过瘾,哈哈。
66666start.png


777代码.png

五、改改代码,让板载LED有呼吸效果
呼吸灯就是改改定时器,改改延时,让LED忽明忽暗,代码如下:


  1. #include <atmel_start.h>
  2. #include <util/delay.h>

  3. uint32_t dutyCycle = 0;

  4. int main(void)
  5. {
  6.         /* Initializes MCU, drivers and middleware */
  7.         atmel_start_init();
  8.         uint16_t nn=0;
  9.         /* Replace with your application code */
  10.         while (1)
  11.         {
  12.                 if (nn==0)
  13.                 {
  14.                         TCA1.SINGLE.CMP2 = dutyCycle;
  15.                         
  16.                         if (dutyCycle<1000)
  17.                         {
  18.                                 _delay_us(100);               
  19.                         }
  20.                         else
  21.                         {
  22.                                 _delay_us(500);

  23.                         }
  24.                         dutyCycle++;
  25.                         if (dutyCycle == TCA1.SINGLE.PER)
  26.                         {
  27.                                 _delay_ms(500);
  28.                                 nn=1;
  29.                         }
  30.                 }

  31.                 if(nn==1)
  32.                 {
  33.                         dutyCycle--;
  34.                         TCA1.SINGLE.CMP2 = dutyCycle;
  35.                         if (dutyCycle<1000)
  36.                         {
  37.                                 _delay_us(100);
  38.                         }
  39.                         else
  40.                         {
  41.                                 _delay_us(500);
  42.                         }
  43.                         if (dutyCycle == 0)
  44.                         {
  45.                                 nn=0;
  46.                         }
  47.                 }

  48.         }
  49. }
复制代码


六、编译烧录,看看效果,演示视频上传
将上述代码编译烧录,在下载烧录前要配置一下,如下图:

888工具配置.png

看看效果,编译成功,可以运行啦,一闪一闪滴,哈哈哈哈

999演示GIF.gif

录制一段视频,视频网址如下:

https://www.bilibili.com/video/BV1Yp4y1q7xA

LED渐暗渐亮,有呼吸的感觉。


七、源代码打包上传,与大家分享
LED呼吸灯源代码:

LED呼吸灯源代码.rar (159.57 KB, 下载次数: 1)

使用特权

评论回复
| 2020-8-11 23:19 | 显示全部楼层
漂亮啊。

使用特权

评论回复
 楼主 | 2020-8-13 22:34 | 显示全部楼层
@麦小播  @21ic小喇叭

提交作业啦

使用特权

评论回复
| 2020-8-13 23:04 | 显示全部楼层
yljon 发表于 2020-8-13 22:34
@麦小播  @21ic小喇叭

提交作业啦

赞哦!666,优秀帖子必须加首页推荐

使用特权

评论回复
| 2020-8-24 15:40 | 显示全部楼层

收到收到,棒棒哒

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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