Atmel MCU 延时delay快速上手指南

分享到:

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

1、关于Atmel Studio 的使用说明,工程建立,ASF软件库添加,请参考:
   https://atmel.eefocus.com/module/forum/thread-4616-1-1.html

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

1

3、初始化delay 功能,在main函数中添加如下代码:
   delay_init(); //延时功能初始化
 
4、编写代码,此例程为LED间隔200ms闪烁,示例代码如下:
2

源码:

#include <asf.h> //包含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

}

}

 

更多Atmel及科技资讯请关注:  
Atmel中文官网:https://www.atmel.com/zh/cn/
Atmel技术论坛:https://atmel.eefocus.com/
Atmel中文博客:https://blog.sina.com.cn/u/2253031744
Atmel新浪微博:https://www.weibo.com/atmelcn

继续阅读
Microchip专家技术文章:实现电源智能化

世界上有许多供电应用,其中大部分只需要一个干净的电流源或电压源即可完成工作。在这些应用中,越来越多的应用需要通过某种智能算法来调整电压或电流以改善性能、降低功耗或者实现某种新功能,从而使产品在市场上更具竞争力。

处理器性能过高?删除部分逻辑门,降低功率

现在的问题是,对于大部分应用来说,处理器的性能反而会过高。

采用MCU控制的蓝牙无线充电系统设计

目前市场上的电子产品层出不穷,各种电子产品的充电器也多种多样,这样既浪费资源,又不利于环保,更重要的是这些充电器不具备通用性,不方便用户的使用。日常生活中,经常会遇到手机、电脑等电量不足,急需充电的情况,而且不可能随时携带充电器,导致手机充电很麻烦。

MCU厂商排排站,Microchip狂增50%!

随着物联网智能化趋势明显,MCU的需求日益高涨,2016年全球MCU出货在230亿颗左右,MCU领域竞争也日趋积累,2015年收购的公司市场份额都大幅度提升,如NXP超越瑞萨跃居第一,Microchip程航50%!

在ASF中使用GPIO的两种方法

在ASF中,将GPIO的控制封装到函数中,使用API函数来控制GPIO,函数从函数名称就可以看出功能,这样使用GPIO更加直观,简单明了。即使换用不同的芯片,控制函数也是相同的,只要修改GPIO的定义,不用修改程序。在ASF中使用GPIO有两种方式,本文为大家介绍两种方式的使用方法和区别。

©2019 Microchip Corporation
facebook google plus twitter linkedin youku weibo rss