牛卧堂MCU技术交流

标题: NUC123 UART [打印本页]

作者: hank-nuvoton    时间: 2014-2-24 15:03
标题: NUC123 UART
baud rate 250000 請問 clock 要如何設定?

作者: lussby    时间: 2014-2-24 17:21
回复不了。
作者: lussby    时间: 2014-2-24 17:26
本帖最后由 lussby 于 2014-2-24 17:29 编辑

sParam.u32BaudRate = 9600;//波特率9600把上面语句中的sParam.u32BaudRate = 9600;        的9600改成你需要的就可以了,不过我觉得楼主的波特率那样设置应该会有问题,一般设置波特率都是9600的整数倍,晶振一般是11.0592M,12M. 等。这样可以减少误差。。另外,你的波特率设置这么高,我估计单片机跑起来有压力。本来打算发整个串口的代码给你的,但是发现贴了代码后发表不了。
作者: hank-nuvoton    时间: 2014-2-24 17:34
可是它的工作頻率可以到75MHz
作者: lussby    时间: 2014-2-26 15:45
恩,这个还真没玩过。不过我一般都是115200
作者: shirley    时间: 2014-2-27 16:40
UART有3个计算公式:

使用外部12M,没有任何问题。
使用内部22.1184M的话要选择一下了,不然误差太高。我选择UART_CLK/(B+1)*(A+2) 看起来比较好,误差大概1.6%

Snap4.jpg (28.77 KB, 下载次数: 620)

Snap4.jpg

作者: shirley    时间: 2014-2-27 16:52
想到一个误差可以更小的方法
误差计算方式如下:22118400/250000 = 88.4736

(B+1) *(A+2) = 88.4736。 让B = 10, A = 6误差可以更小

这样波特率等于:22118400/(11*8) = 251345.45

误差就是:(251345.45 - 250000)/250000 = 0.6%
作者: hank-nuvoton    时间: 2014-2-28 09:45
請問 可接受的誤差值是多少
作者: hank-nuvoton    时间: 2014-2-28 09:51
可接受的最大誤差值是多少 %內
作者: shirley    时间: 2014-2-28 15:52
楼主,你可以接受的误差是多少?
作者: hank-nuvoton    时间: 2014-3-3 06:26
是用在大量資料傳輸 每次傳輸時間約在0.5秒 24小時工作
請問在資料不誤傳條件下 它的容許誤差值 %?

作者: admin    时间: 2014-3-3 09:02
UART 最大可容许4%~5%的波特率误差  
有起始位,误差不会累积起来.
作者: hank-nuvoton    时间: 2014-3-4 12:11
謝謝 穫益良多




欢迎光临 牛卧堂MCU技术交流 (http://nuvoton-mcu.com/) Powered by Discuz! X3.2