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

【CuriosityNano测评报告】+ATtiny1627 LED呼吸灯

[复制链接]
1405|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
很荣幸能申请到ATtiny1627开发板,先来个点灯测试:
1、下载安装MPLAB X IDE开发环境,安装XC8编译工具,安装MPLAB代码配置器MCC
打开MPLAB

2、点击新建工程New Project...

3、选择Microchip Embedded—>Standalone Projects—>Next

4、Device选择ATtiny1627、Tool选择ATtiny1627 Curiosity Nano

5、编译工具选择XC8

6、设置工程名,存储路径,Encoding设置GB18030(中文注释就不会显示为乱码)

7、点击MCC,打开代码配置器,存储配置文件


8、配置System Module,系统时钟频率设置为20MHz,时钟源选为内部时钟源

9、配置Pin Module,右击Pin Manager: Package View中芯片引脚PB7,设置为GPIO output

10、添加TCA0定时器外设,使能定时器TCA0,Clock Selection设置System Clock/8,定时时间设为8us,使能溢出中断

11、配置Interrupt Manager,使能全局中断

12、配置完成后,点击Generate生成main.c,定时器设置为8us中断一次,呼吸频率312.5Hz,3.2ms(400*8us)

13、添加led.c文件
#include "mcc_generated_files/mcc.h"

static uint16_t PWMCount = 0;
static uint16_t PWMDutyCount = 1;
static uint8_t Direction = 0;

void Breathing_cb(void)
{
    TCA0_ClearOverflowInterruptFlag();
    TCA0_WriteTimer(0);
    PWMCount++;
    if(PWMCount >= 400)
    {
        LED_SetLow();
        PWMCount = 0;
        if(Direction == 0)
        {
            PWMDutyCount++;
            if(PWMDutyCount > 399)
            {
                Direction = 1;
            }
        }
        else
        {
            PWMDutyCount--;
            if(PWMDutyCount <= 1)
            {
                Direction = 0;
            }
        }
    }
    else if(PWMCount == PWMDutyCount)
    {
        LED_SetHigh();
    }
}
效果如下:

测试代码:
ATtiny1627.X.zip (112.19 KB)



使用特权

评论回复
沙发
weifeng90| | 2021-12-5 16:22 | 只看该作者
不错,谢谢楼主分享。

使用特权

评论回复
板凳
chenjun89| | 2021-12-6 07:47 | 只看该作者
红色阻焊看起来也不错啊

使用特权

评论回复
地板
两只袜子| | 2021-12-7 09:11 | 只看该作者
很不错啊,这开发板还可以申请吗

使用特权

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

本版积分规则

32

主题

136

帖子

3

粉丝