跳转到主内容
Knowledgebase
Home
Renesas Electronics China - Knowledgebase

uPD784218异步串行通讯发送数据时的描述矛盾吗。 a将端口置为输出方式。 b写发送数据到TXSn,开始发送。

最新更新:2011年10月 06日

Question:

下面是使用uPD784218异步串行通讯发送数据时的一段描述。

警告 :
在UART发送数据的情况下,如果是第一次执行发送,请按照下面的过程操作。
(1) 将端口设置为输入状态 (PM21 = 1,或PM71 = 1),写0入端口锁存器。
(2) 设置异步串行接口模式寄存器n(ASIMn)的第七位(TXEn)为1,使能UART发送(从TXDn端口输出一个高电平)。
(3) 将端口设置为输出方式 (PM21 = 0,或PM71 = 0)。
(4) 写发送数据到TXSn,开始发送。
如果端口首先被设置为输出方式,0将从由引脚输出,这可能会引起故障。

不管怎样,最后的描述

"如果端口首先被设置为输出方式,0将从引脚输出,这可能会引起故障"

似乎和步骤3、4矛盾。

Answer:

这个过程并没有问题。
是你误解了状态(2)情况下的变化。
详细的操作如下。

在第(1)步,UART不操作,所以输出是0,引脚作为一个端口工作。
因此在引脚设置为输入的模式下,输出锁存器设置为0。

在第(2)步,因为UART输出被使能,UART的输出是1。
因为在步骤(1)时输出锁存器为0,因此得到的值是端口输出锁存器和UART输出为1的相或的值。 (参见用户的手册中的图5-4和图5-12。)
换句话说,通过设置UART发送使能,UART的输出变为停止位的极性 (标志状态:1)。

通过在(3)中将端口设置为输出方式,步骤(2)中或运算的结果(为1)被输出到端口。
换句话说,引脚状态从高阻态变为输出为1的状态。
然后通过将发送数据写到TXSn,UART发送的数据从端口输出。
Suitable Products