25.6.2 基本操作
25.6.2.1 初始化
下列寄存器使能写保护,意味着它们只能在USART是禁止的情况下(CTRL.ENABLE)是0:
。控制器A寄存器(CTRLA),除了使能(ENABLE)和软件复位(SWRST)比特位
。控制器B寄存器(CTRLB),除了接收使能(RXEN)和发射使能(TXEN)比特位
。波特率寄存器(BAUD)
在USART使能或者被使能(CTRL.ENABLE是1)任何写这些寄存器将被抛弃。
向这些寄存器写当外设被禁止,在禁止结束后写完成。
在USART使用之前,它必须被配置,大概如下步骤:
。USART模式及用外部或者内部的时钟必须被首先选择,通过向控制器A寄存器的选择模式比特组
(CTRLA.MODE)写来实现的
。通讯模式(同步或非同步)必须向控制寄存器A中的通讯模式比特(CTRLA.CMODE)写来实现。
。SERCOM pad 用来做接收的必须通过向控制寄存器A中的接收数扰管脚比特组(CTRLA.RXPO)选择好。
。SERCOM pads 用作发射并且外部时钟必须选择,是通过向控制寄存器A的传输数据管脚(CTRLB.CHSIZE)写来实现的。
。字符的长度必须通过向控制寄存器B中的字符长度比特组写来选择的。
。MSB或者LSB数据传输必须通过向控制寄存器A的数据顺序比特来选择。
。当奇偶效验模式被用时,奇或偶的奇偶效验必须通过向控制寄存器B寄存器(CTRLB.PMODE)奇偶校验模式比特写来选择和通过向控制寄存器A的帧格式比特组(CTRLA.FORM)写来使能。
。停止位的数量必须向控制寄存器B寄存器的停止比特模式写来选择。
。当用一个内部时钟,波特率寄存器(BAUD)必须被写期望的速率。
。发送和接收通被使能通过向控制寄存器B寄存器接收和发射使能位写(CTRLB.RXEN和CTRLB.TXEN)来实现。
25.6.2.2 使能,失能和复位
USART是通过向控制寄存器A中的使能比特写1来实现的,USART的失能是通过向使能比特写0来实现的。USART的复位是通过向控制寄存器A中的软件复位(CTRLA.SWRST)比特写1来实现的。所有的USART寄存器,除了DBGCTRL,将被复位到它们的初始状态,并且USART将失能。请参考CTRLA寄存器的描述。
|