[讨论] lpc1788 cortexM3 波特率计算

布冬冬   2012-1-12 15:48 楼主

想要通过UART0发送一串“abc”

我按照说明书上的计算公式。

主频为120MHz,所要得到的波特率为115200。

计算所得是DivAddVal=1,MulVal=2,DLM = 0,DLL=2B.

通过串口调试助手得出来的是字符8,不知道是什么原因,望高手指点!

  • 12345.png

回复评论 (2)

通过以下公式可以设置波特率,但是需要注意SystemCoreClock的值,在这里需要表示为总线时钟

 

  1. Fdiv = ((SystemCoreClock/16)/bps ;     

  2. LPC_UART0->DLM  = Fdiv / 256;
    LPC_UART0->DLL  = Fdiv % 256;

我的博客
点赞  2012-1-13 09:49

回复 沙发 zhaojun_xf 的帖子

比如说主频是120MHz的板子,要产生115200KHz波特率的信号。DLM,DLL,FDR是怎么计算?
我算出来的是DivAddVal=1,MulVal=2,DLM = 0,DLL=2B.
不过好像不太对。
点赞  2012-1-18 10:05
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复