13.Smart210串口驱动基于12的补充

13.Smart210串口驱动基于12的补充

    上面的12节里,已经讲了2440有关串口的设置和操作。本来,2440,6410和210的串口操作应该是几乎一样的。在进行6410和210的设置的时候,发现在波特率的设置,6410和210的原理是一样的,但是跟2440有点不一样。所以下面以210为例子,说明6410和210波特率的设置。

寄存器:

UBRDIV0=(int)(PCLK_PSYS/(BAUD*16)-1);//UBRDIV0保存该公式计算后的整数部分。

UBRDIV0=(int)(66000000/(115200*16)-1)=(int)(35.8-1)=(int)(34.8)=34。即取整数部分为34.

//UDISLOT0=保存该公式计算后的小数部分*16。

0.8*16=12.8,查上表得出12对应UDISLOT0值为0xdddd。

由上面知道,还需要知道PCLK_PSYS的值:PCLK_PSYS=HCLK_PSYS/(PCLK_PSYS_RATIO+1);

要求得PCLK_PSYS需要先知道HCLK_PSYS的值: HCLK_PSYS=MPLL/(HCLK_PSYS_RATIO+1); 已知MPLL=667MHZ(参考时钟初始化那个专题)。

上面的值,都可以在手册查到,最后计算出PCLK_PSYS=66000000。

 

转载于:https://www.cnblogs.com/FORFISH/p/5188820.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值