K60学习之UART初始化

UART初始化的流程

1.获取时钟源,时钟源初始化,启动时钟
2.禁止TX,RX
将UART->C1->TE&RE置零
3.配置波特率
将UART->BDH和UART->BDL的SBR位域以及UART->C4的BRFA位域清零
给UART->BDH和UART->BDL的SBR位域以及UART->C4的BRFA位域赋值,前两者是计算的波特率的值,后者是波特率微调的值
4.校验位设置
设置UART->C1->M&PE&PT位,通过M位设置数据位是8位(0)还是9位(1);
通过PE位设置有校验位(1)还是无校验位(0);通过PT位设置奇校验(0)还是 偶校验(1)
5.数据位设置
通过参数判断是否有校验位
设置UART->C1的M位,以及C4->M10设置数据位是10位(1)还是9位(0)
6.设置数据方向
通过UART->S2设置数据从0位开始(0)还是从8-7-6位开始(1)
7.启动TX,和RX
将UART->C1->TE&RE置1

附:
这个里面的时钟初始化,是采用的是GetClock(),这个是底层提供的接口。可以直接调用的。
SBR的值的计算clock/(baudrate*16)
还有一些小的原则,在赋值之前先清零。

你可能感兴趣的:(K60学习之UART初始化)