控制/MCU
本次教程将介绍一下MSPM0L系列的串口(UART)功能。
MSPM0的串口所支持功能如下图,并不是所有的型号都支持扩展功能,要看相应的规格书。
这里以我们最常用的非流控串口来介绍串口的配置和使用。
UART的时钟的可以选择:
- BUSCLK:具体是PD0总线时钟ULPCLK还是PD1总线时钟MCLK需要参照规格书说明
- MFCLK:对于需要在STOP或者STANDBY模式下接收数据的应用,固定的4MHz不需要更改波特率
- LFCLK:UART可以在更低功耗的模式下运行
采样周期(bit sampling)选择3/8/16三个档,通常3/8即可,可以在时钟偏差较大的情况下选择16,或者时钟速度太高,导致波特率分频系数超过了寄存器的的允许。
波特率分频系数(BRD)计算公式如下:
波特率分频系数=UART时钟/(采样周期x波特率)
BRD的数值不能小于1,可以是小数,BRD寄存器有专门的整数和小数存放区域,可以支持16位整数和6位小数。
下面使用SYSCONFIG工具来配置一个使用MFLCK,115200波特率,8,N,1的无流控的通用UART,使用中断接收数据。
在UART选项卡中,点击ADD按钮就可以添加一个UART。
在基础设置中配置好时钟,波特率,数据格式就可以了,可以看到使用4MHz时钟,在115200波特率下,误差率是0.0799%。
在高级设置中选择通用UART模式,由于时钟频率高,所以采样周期选择16,其他设置默认即可。
在中断选项中选择接收中断
最后需要在选择具体的TX和RX管脚,初始化配置即可以完成。
程序流程如下:
配套工程名为 UART。
编辑:黄飞
全部0条评论
快来发表一下你的评论吧 !