Atmel MCU 延时delay快速上手指南详解

电子说

1.2w人已加入

描述

在MCU软件开发中,延时函数用的非常多,有的是硬件延时,采用定时器,有的是软件延时,采用循环等待,不管是采用什么样的方式,最终达到的目的都是一样,为系统功能、时序做铺垫,下面结合Atmel Studio 和ASF对延时函数delay进行说明,此软件库适用于所有Atmel MCU。

1、关于Atmel Studio 的使用说明,工程建立,ASF软件库添加,请参考:

2、添加 Delay routines (Service) 本例程采用 Systick

mcu

3、初始化delay 功能,在main函数中添加如下代码:

delay_init(); //延时功能初始化

4、编写代码,此例程为LED间隔200ms闪烁,示例代码如下:

mcu

源码:

#include //包含Atmel MCU软件库头文件

#define LED PIN_PC27 //定义LED所使用的IO口为 PC27

void port_init(void); //声明函数体

/************************************************************************/

//* IO 初始化

/************************************************************************/

void port_init(void)

{

struct port_config config_port_pin;

port_get_config_defaults(&config_port_pin);

config_port_pin.direction = PORT_PIN_DIR_OUTPUT; //配置IO口方向为输出

port_pin_set_config(LED, &config_port_pin); //初始化LED对应IO口

}

/************************************************************************/

//* 主程序

/************************************************************************/

int main (void)

{

system_init(); //系统初始化

/* Insert application code here, after the board has been initialized. */

port_init(); //IO初始化

delay_init(); //延时功能初始化

while(1)

{

port_pin_toggle_output_level(LED); //LED对应IO电平取反

delay_ms(200); //延时200ms

}

}

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分