Reset UART有两种方法:
- UART Reset。往电源和仿真控制寄存器(power and emulation control register,URPECR)的UART reset 位(URST)写入0。这一操作将重置UART的状态机(UART state machine),但是不会影响UART的寄存器。
- DSP Reset。将DSP的RESET#管脚拉低,整个DSP都将reset,并且在RESET#管脚升高之前一直保持在reset的状态上。作为DSP的一部分,UART的状态机也将RESET,并且UART的寄存器将会恢复到默认的初始状态。
UART寄存器和TX信号的默认值如下:
备注:
- UART的分频数锁存寄存器(DLM和DLL)将不会在硬件RESET和UART的软件RESET中受到影响。它们必须在上电后重新加载。在开始串行通信之前,请保证正确的分频数以及存储在这两个分频数锁存寄存器中(为了提供所需的波特率)。
- 为了UART的正确操作,16bit的divisor必须大于0,即分频数锁存寄存器(URDLM和URDLL)中的值必须大于0.
- 为了保证UART和DMA控制器之间的正确通信,URFCR寄存器的DMA mode (DMAMOD) 位必须为1。DMA mode (DMAMOD)位必须始终为1,在硬件重启后,将DMA mode (DMAMOD)位由0重写为1。
来源:http://www.cnblogs.com/elaron/archive/2011/07/16/2108105.html