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

你怎么认为?

有帮助吗?

解决方案

您应该可以将DTR(数据终端就绪),引脚20或DSR(数据集就绪),引脚6,高电平设置为稳态信号。这是调制解调器/终端检测到另一端有准备通信的设备的方式。这一切都取决于您通过驱动程序对硬件的访问级别。

[EDIT]这不涉及发送数据,尽管你仍然可以使用TX / RX,引脚2和3。

维基百科上的 RS-232参考资料

其他提示

你的意思是固定电压?不是方波吗? (字母U)休息命令怎么样(如果你想把它命名为命令)?

当然,如果有帮助,你可以使用其中一条控制线......或者你是否专门寻找TX以外的东西?

如果问题是“我可以改变Tx线的DC状态”,那么答案是可以要求许多uarts(包括PC中的uarts)创建'break'条件,这是相反的到线的正常空闲状态。

所以你可以打开和关闭'break'并切换那条线。

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

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

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

每次收到消息时,接收端的定时器都会复位,如果定时器超时,则消息占用时间过长,并且可以对丢失的状态消息进行操作。

正如其他人所指出的那样,如果您正在使用硬件流控制,那么您也可以使用一些状态行,但在许多情况下,这些行未实现,因此可能无法选择。

- 亚当

稳定的信号可能意味着:

  • 稳定的字符爆发:保持发送缓冲区满
  • 线保持高位或低位:不发送任何内容或发送连续的中断

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top