[Atmel] 每天跟我读点资料:SAM D SERCOM USART配置13

[复制链接]
1552|2
 楼主| ddllxxrr 发表于 2016-3-29 09:47 | 显示全部楼层 |阅读模式
4.5 SOF检测和唤醒配置
USART帧开始检测可以在检测到开始比特时从待机休眠状态唤醒CPU。在待机休眠模式,内部快速启动晶振必须选为GCLK_SERCOMx_CORE作为时钟源。
在应用程序进入到待机休眠模式后,PC终端按一个字符将从休眠中唤醒设备并且在终端上显示字符。
这个应用只使用一个SAM D21 Xplained Pro 通过EDBG连接到PC终端。这里只有SERCOM3被使用。

下列配置是从基本配置应用程序修改的:
/* 8-bit, Even parity one stop bit 8 bits, Transmitter, receiver enabled
Start of frame detection enabled */
SERCOM3->USART.CTRLB.reg = SERCOM_USART_CTRLB_CHSIZE(0x0) |
SERCOM_USART_CTRLB_TXEN |
SERCOM_USART_CTRLB_RXEN |
SERCOM_USART_CTRLB_SFDE;
。通过设置SFDE比特-帧开始检测使能,一但检测到RxD线上的开始位设备将从休眠唤醒。
下面的表是SFDE的唤醒设置:
。system_set_sleepmode(SYSTEM_SLEEPMODE_STANDBY)函数将设置设备休眠模式为待机休眠模式
。STANDBY休眠模式允许非常代的电源功耗
。在待机休眠模式所有的时钟将停止除了那些保持运行的,如果需要运行模式通过ONDMAND比特设置
。如果在Conf_clocks.h文件中CONF_CLOCK_OSC8M_ON_DEMAND位被设置为true,然后需要的时钟将提供。到达支持时钟它将花费时钟的启动延时。
。在SOF检测应用中,CONF_CLOCK_OSC8M_ON_DEMAND位将被设置为false用来避免从休眠模式中唤醒设备时丢失了第一个字符。
。这个应用使能RXC和RXS中断
。当开始状态被在RxD线上检测到RXS标志置1并且帧开始检测被使能
。这个应用只使用了SERCOM3来处理-EDBG USART
布尔类型的变量rx_started 用来标识中断。初始值被设为false。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
都被注册了啊啊 发表于 2016-3-30 14:38 | 显示全部楼层
多谢分享~
snubber 发表于 2016-3-30 16:29 | 显示全部楼层
版主有心了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2404

主题

7001

帖子

68

粉丝
快速回复 在线客服 返回列表 返回顶部