很荣幸能申请到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)
|