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)
还有一些小的原则,在赋值之前先清零。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容