找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

[NUC] NUC123 UART

[复制链接]
跳转到指定楼层
楼主
hank-nuvoton 发表于 2014-2-24 15:03:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
baud rate 250000 請問 clock 要如何設定?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 顶 踩
回复

使用道具 举报

沙发
lussby 发表于 2014-2-24 17:21:40 | 只看该作者
回复不了。
回复

使用道具 举报

板凳
lussby 发表于 2014-2-24 17:26:21 | 只看该作者
本帖最后由 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:28 | 只看该作者
可是它的工作頻率可以到75MHz
回复 支持 反对

使用道具 举报

5#
lussby 发表于 2014-2-26 15:45:25 | 只看该作者
恩,这个还真没玩过。不过我一般都是115200
回复 支持 反对

使用道具 举报

6#
shirley 发表于 2014-2-27 16:40:31 | 只看该作者
UART有3个计算公式:

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

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

Snap4.jpg
回复 支持 反对

使用道具 举报

7#
shirley 发表于 2014-2-27 16:52:06 | 只看该作者
想到一个误差可以更小的方法
误差计算方式如下: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%
回复 支持 反对

使用道具 举报

8#
 楼主| hank-nuvoton 发表于 2014-2-28 09:45:07 | 只看该作者
請問 可接受的誤差值是多少
回复 支持 反对

使用道具 举报

9#
 楼主| hank-nuvoton 发表于 2014-2-28 09:51:00 | 只看该作者
可接受的最大誤差值是多少 %內
回复 支持 反对

使用道具 举报

10#
shirley 发表于 2014-2-28 15:52:03 | 只看该作者
楼主,你可以接受的误差是多少?
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU