关于ATxmage时钟模块和GPIO模块的介绍

分享到:

 
1、时钟系统
 
   任何嵌入式系统要正常运行都必须需要一个稳定的时钟系统。下面简单介绍一下xmega的时钟系统及初始化过程。
 
  Xmega时钟系统时钟源包括内部时钟源和外部时钟源。
 
内部时钟源有:
  32MHz内部RC振荡器;
  2MHZ内部RC振荡器;
  32768kHz内部RC振荡器;
  32Khz内部ULP低功耗振荡器;
 
外部时钟源:
  0.4~16MHZ晶体振荡器;引脚XTAL1和XTAL2;
  32.768kHZ晶体振荡器;引脚为TOSC1和TOSC2;
   还可以从外部直接接入时钟。
通过上述时钟源通过锁相环(PLL)可以倍频到32MHz。
时钟分系统时钟、CPU时钟、外设时钟、外设分频时钟,同步时钟。
系统时钟选择与分频:所有时钟源及PLL都可以作为系统时钟CLK(sys),选择时钟源后,进入分频器进行分频。分频后作为各种外设时钟频率。
下面说一下PLL的倍频配置:
F(pll)=F(in)*PLL_FAC
下面4个时钟源可以作为锁相环的输入时钟:
MHz internal oscillator ,
32 MHz internal oscillator divided by 4 
0.4 - 16 MHz Crystal Oscillator 
External clock 
 
要使用PLL,必须遵循下面几个步骤:
1,使能输入时钟源;
2,选择输入时钟源和设置倍频因子;
3,等待时钟源稳定;
4,使能PLL;
相关操作参见相关寄存器操作。具体的寄存器请到官网下载数据手册和用户手册查阅。下面我在Atmel Studio 6.2的基础上举例初始化时钟,初始化使用PLL到32MHz。参照上一章节的介绍在项目中添加时钟系统的驱动模块。
在系统时钟模块中的配置文件conf_clock.h中定义宏定义:
1
2
3
4
  
  
  
看着上面代码量很大,其实根据宏定义,执行的没有几句,很少的语句。读起来很简单的。
初始化后可以通过sysclk_get_main_hz这个函数读取系统时钟,该函数返回的就是系统时钟频率,看是否与初始化是否成功。
 
 
 
更多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
继续阅读
51单片机、AVR单片机和PIC单片机IO口的操作

51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的目的是让单片机的管脚输出逻辑电平和读取单片机管脚的逻辑电平。下面我们来看看51单片机、AVR单片机和PIC单片机IO口的操作的方法。

一个小经验,让你的AVR单片机功耗超低

休眠电流要最小:掉电模式必须的,然后能关闭的功能全部关闭,关闭BOD检测,关闭看门狗,电压越低越好,1.8V,频率越低越好。

51、AVR与PIC,三种单片机IO口的操作

51单片机、AVR单片机和PIC单片机IO口结构的均不同,导致了IO口操作也不同。操作单片机IO口的目的是让单片机的管脚输出逻辑电平和读取单片机管脚的逻辑电平。下面我们来看看51单片机、AVR单片机和PIC单片机IO口的操作的方法。

14个官方视频教程,助您学习AVR系列单片机

AVR® Insights — 第1集 — AVR存储器 AVR® Insights — 第2集 — 边写边读存储器 AVR® Insights — 第3集 — 端口 AVR® Insights — 第4集 — 休眠模式 AVR® Insights — 第5集 &mdash

关于AVR单片机,你了解多少?

什么是AVR单片机?AVR单片机有什么优点?为什么要选择AVR单片机?

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