打印
[技术问答]

新唐Nano100系列单片机UART功能规格书描述问题

[复制链接]
1036|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在寄存器UARTx_BAUD里面的DIV_16_EN位的描述是这样的:
除 16 使能
BRD = 波特率除数,波特率公式为:Baud Rate = UART_CLK/ [16 * (BRD + 1)];
1 = 波特率计算公式为 UART_CLK / [16 * (BRD+1)]
0 = 波特率计算公式为 UART_CLK / [ (BRD+1)]
注:当处于 IrDA 模式时,该位必须被设置为 0.


但是在规格书内的IrDA功能描述却是这样的:
IrDA 功能模式:
UART 支持 IrDA SIR (串行红外) 发送编码器和接收解码器,IrDA 模式可通过设定
UART_FUN_SEL 寄存器中的 FUN_SEL 位来选择,当 UART 控制器工作在 IrDA 模式时,必须通
过设定 UART_TRSR[RFITL] = 0 来把接收 FIFO 触发阈值设置为 1。
IrDA 模式下,UART_BAUD[DIV_16_EN] 位必须被使能。
Baud Rate = Clock / (16 * (BRD + 1)),其中 BRD 是在波特率分频寄存器 UART_BAUD 中定义的
波特率除数。.

5.19.1.4 IrDA 功能模式:
UART 控制器提供串行 IrDA (SIR,串行红外) 功能 (用户必须设置 UA_FUN_SEL 来选择 IrDA 功能)。SIR 定义一种短距离红外异步串行传输模式,该模式有 1 个起始位,8 个数据位和 1 个停止位。最大数据速率为 115.2 Kbps (半双工)。IrDA SIR 模块包括 IrDA SIR 协议编码/解码器。IrDA SIR 协议是一个半双工协议,所以不能同时发送和接收数据。IrDA SIR 物理层规定在发送和接收之间至少有 10ms 传输延时,当 UART 控制器工作在 IrDA 模式时,UART_BAUD 设定值必须被设定为模式 1 (UART_BAUD[DIV_16_EN] = 1)。



请问各位大神帮忙分析,新唐官方人员帮忙解释解释,我如果实际工作在IrDA模式时,我的DIV_16_EN位到底是置0还是置1?

微信截图_20200324103926.png (271.97 KB )

微信截图_20200324103926.png

微信截图_20200324103911.png (262.42 KB )

微信截图_20200324103911.png

微信截图_20200324103840.png (299.83 KB )

微信截图_20200324103840.png

使用特权

评论回复
沙发
yiyigirl2014| | 2020-3-24 11:31 | 只看该作者
当然是0了

使用特权

评论回复
板凳
猫灵的星星|  楼主 | 2020-3-24 11:50 | 只看该作者

为什么是0呢?我看到寄存器版的例程里此位计算出来是等于0的,但是例程没有用IrDA功能模式的。。。

使用特权

评论回复
地板
小明的同学| | 2020-3-24 21:21 | 只看该作者
这个问题简单,你实际测一下,看看到底行不行。

使用特权

评论回复
5
jasontu| | 2020-3-25 08:02 | 只看该作者
要看你要使用實際多少的baudrate.
只有差別是不是除的出來期望的頻率。

使用特权

评论回复
6
yiyigirl2014| | 2020-3-25 16:21 | 只看该作者
红外模式一般要求的速度都不是很高。

使用特权

评论回复
7
猫灵的星星|  楼主 | 2020-3-25 17:44 | 只看该作者
yiyigirl2014 发表于 2020-3-25 16:21
红外模式一般要求的速度都不是很高。

那此位应该设置为1对吗?规格书两个地方描述不一样容易误导用户

使用特权

评论回复
8
HuangHongLun| | 2020-3-26 22:48 | 只看该作者
以实际测试为准,楼主你实际测试下不就知道了吗?

使用特权

评论回复
9
darklighttt| | 2020-3-30 09:07 | 只看该作者
这种情况下,干脆舍弃中文的数据手册,看英文的,以英文介绍为标准。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

23

帖子

0

粉丝