4

老实说,我认为答案是“不”;但是,我想获得第二意见。基本上,我需要一个微控制器设备向另一个微控制器设备发送稳定的信号,但它们之间的通信是使用 RS232。所以我认为我必须创建/更新通信消息才能让它做我想做的事。

你怎么看?

4

8 回答 8

7

您应该能够将 DTR(数据终端就绪)引脚 20 或 DSR(数据集就绪)引脚 6 设置为高电平,并将其作为稳态信号保持在那里。这就是调制解调器/终端如何检测到另一端有设备准备好进行通信的方式。这完全取决于您通过驱动程序对硬件的访问级别。

[编辑] 这不涉及发送数据,尽管您仍然可以使用 TX/RX、引脚 2 和 3 来执行此操作。

维基百科上的 RS-232 参考

于 2008-10-24T12:22:37.530 回答
3

你是说固定电压?不是方波?(字母 U)break 命令怎么样(如果你想称它为命令)?

当然,如果有帮助,您可以使用其中一条控制线……或者您是否专门从 TX 中寻找某些东西?

于 2008-10-28T19:26:38.207 回答
1

如果问题是“我可以改变 Tx 线的 DC 状态吗”,那么答案是可以要求许多 uart(包括 PC 中的那些)来创建“中断”条件,这与正常空闲相反线路状况。

因此,您可以打开和关闭“中断”并像那样切换线路。

于 2008-10-24T12:55:15.823 回答
0

如果您不介意类似突发的界面,则可以执行类似的操作。一个微可以传输一个字节,另一个可以对该字节执行某些操作并将其作为响应发送回来。

于 2008-10-24T12:22:46.327 回答
0

如果您可以控制线路的两端,则可以将 rs-232 tx 和 rx 线路转换为常规逻辑线路以提供该信息。

然而,在大多数情况下,每一端都会定期发送一个字节的状态信息,其中包含 8 个可能的数字值 - 提供更多的状态信息。

每次接收到消息时,接收端的计时器都会重置,如果计时器超时,则消息花费的时间太长,您可以对丢失的状态消息采取行动。

正如其他人指出的那样,如果您使用的是硬件流控制,那么您也有一些可用的状态行,尽管在许多情况下这些行没有实现,因此这可能不是一个选项。

-亚当

于 2008-10-24T12:38:09.383 回答
0

稳定的信号可能意味着:

  • 稳定的字符突发:保持发送缓冲区满
  • 线保持高位或低位:不发送任何内容或发送连续中断
于 2008-10-24T12:49:58.940 回答
0

我认为这在很大程度上取决于您使用的 UART,例如链接文本,以及您在软件下对其的访问级别。如果您查看数据表,通常有一些方法可以直接控制大多数引脚以进行测试,但您需要从相当低的级别开始。

在更高的层次上,tvanfosson 的回答几乎就是我的做法。

于 2008-10-24T12:54:55.233 回答
0

虽然第一个答案是正确的,但可能无法在许多微控制器上使用这种技术(使用 DTR 或 DSR),因为它们可能没有这些信号(许多微控制器可能只有基本的 RX/TX 线,而您通常会有如果您想要额外的控制/状态线,可以使用其他 i/o 端口。但是,一切都不会丢失,许多 RS232 控制器允许您将 TX 线设置为“标记”或“空格”(即将 TX 线设置为逻辑高或低)。这将允许您获得稳定状态信号。可以检查接收器上的 RX 线以查看其是否处于标记或空间电平。

于 2008-10-28T13:59:55.277 回答