【玩转ADuCM360】 UART-----芯片由VOCO_2000网友提供
[复制链接]
ADuCM360的提供了工业标准的16450UART,并支持DMA传输。 当作为UART使用时,异步串口协议支持: 5—8位数据位 1、2、1位半结束位 奇校验、偶校验、无校验 波特率可设置为= UCLK/DIV ÷ (2 × 16 ×COMDIV) ÷ (M + N ÷ 2048), 这里 COMDIV = 1 ~ 65536, M = 1 ~ 3, and N = 0 ~ 2047 这里的UCLK/DIV是系统时钟16 MHz的分频,它由CLKCON1及 CLSYSDIV决定 数据的发送,需要一个起始位,及至少一个停止位,发送时需要写COMTX,利用内部的TSR移位寄存器送出。所有传输是以一个低电平的前导起始位开始的。传输完成时,置位发送寄存器空标志。 接收时,当发现有起始位时,传输内容就通过内部的RSR移位寄存器将接收内容接收,完成后转入COMRX寄存器,并置位接收标志。 16倍于波特率的接收采样率检测接收数据,当脉冲小于二倍采样率的干扰将被接收滤波器滤除。 接收与发送时,低位在前。 对于省电模式,UART可以由时钟控制位打开或关闭。 UART在以下几种情况产生中断: l 接收器COMRX满 l 接收奇偶校验错 l RxD低保持中断 l CTS中断 l COMTX中断。 DMA模式 ADuCM360有接收及发送两个独立的DMA通道,用户代码可以不用与接收和发送寄存器打交道。
[ 本帖最后由 dontium 于 2013-6-11 13:38 编辑 ]
|