Microchip 系列:SAM L21 系列 (超低功耗)_(1).基础知识:SAM L21系列概述.docxVIP

Microchip 系列:SAM L21 系列 (超低功耗)_(1).基础知识:SAM L21系列概述.docx

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE1

PAGE1

基础知识:SAML21系列概述

1.SAML21系列简介

1.1系列背景

SAML21系列是MicrochipTechnology推出的一款超低功耗微控制器(MCU)系列。该系列基于ARMCortex-M0+内核,专为需要低功耗和高性能的应用而设计。SAML21系列MCU在休眠模式下的功耗极低,非常适合电池供电的设备和无线传感器网络等应用场景。

1.2主要特点

超低功耗:在休眠模式下,功耗低至1.2μA,工作模式下的功耗也非常低。

高性能:基于ARMCortex-M0+内核,提供高达48MHz的主频。

丰富的外设:包括USART、SPI、I2C、ADC、DAC、RTC等。

灵活的电源管理:支持多种电源模式,以适应不同的应用场景。

强大的安全特性:支持硬件加密引擎,提供安全的通信和数据存储。

易于开发:提供完善的开发工具和资源,包括IDE、调试器和评估板。

2.SAML21系列架构

2.1内核架构

SAML21系列基于ARMCortex-M0+内核,该内核具有以下特点:

32位RISC架构:提供高效的指令执行和数据处理能力。

Thumb-2指令集:支持16位和32位混合指令,提高代码密度和执行效率。

单周期乘法:提供单周期乘法指令,提高计算速度。

低功耗设计:ARMCortex-M0+内核本身具有低功耗特性,进一步优化了SAML21系列的功耗。

2.2存储器架构

SAML21系列的存储器架构包括:

片上闪存:高达256KB的闪存,用于存储程序代码和常量数据。

片上SRAM:高达32KB的SRAM,用于存储运行时数据。

外设存储器:包括各种外设寄存器,用于控制和配置外设功能。

2.3电源管理

SAML21系列支持多种电源管理模式,包括:

正常模式:CPU和所有外设正常工作。

空闲模式:CPU停止工作,外设继续运行。

休眠模式:CPU和大部分外设停止工作,仅保留RTC等关键外设。

深度休眠模式:几乎所有的电路都停止工作,仅保留RTC和少量GPIO。

3.SAML21系列外设

3.1串行通信接口

SAML21系列提供了多种串行通信接口,包括USART、SPI和I2C。

3.1.1USART

USART(UniversalSynchronous/AsynchronousReceiver/Transmitter)是一种通用的串行通信接口,支持同步和异步通信模式。以下是一个简单的USART配置和通信示例:

#includesam.h

//初始化USART

voidusart_init(void){

//使能USART时钟

PM-APBAMASK.reg|=PM_APBAMASK_USART0;

//配置USART模式

USART0-CTRLA.reg=USART_CTRLA_SWRST;//复位USART

while(USART0-SYNCBUSY.bit.SWRST);//等待复位完成

USART0-CTRLA.reg=0;//关闭USART

USART0-BAUD.reg=USART_BAUD_BAUD(115200);//设置波特率

USART0-CTRLB.reg=USART_CTRLB_CHSIZE_8BIT;//设置字符大小

USART0-CTRLC.reg=USART_CTRLA_MODE_UART;//设置为UART模式

//使能USART

USART0-CTRLA.reg|=USART_CTRLA_ENABLE;

while(USART0-SYNCBUSY.bit.ENABLE);//等待使能完成

}

//发送一个字符

voidusart_send_char(charc){

while(!(USART0-INTFLAG.bit.DRE));//等待数据寄存器为空

USART0-DATA.reg=c;//发送字符

}

//发送一个字符串

voidusart_send_string(constchar*str){

while(*str){

usart_send_char(*str++);

}

}

intmain(void){

//初始化系统

SystemInit();

//初始化USART

usart_init();

//发送

您可能关注的文档

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档