This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RS232连接至开关

Guru**** 2522770 points
Other Parts Discussed in Thread: MAX232

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/718685/rs232-connection-to-switcher

主题中讨论的其他器件:MAX232

大家好、我是 RS232新手。

我尝试通过连接到 MAX232主板的 Arduino 来控制转换开关、但不理解手册中的内容。

我遇到的问题是、在 RS232命令部分下、这对我没有任何意义。 例如、它显示"打开 HDMI 输出"、然后显示命令为"0B2"。 这意味着什么,我如何使用它?

以下是手册:  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Steve、

    您可能需要向 SY 检查这些命令的实际含义、但我解释的方式是、它们是一系列使用 RS-232接口通过串行端口发送的 ASCII 编码字符。 例如、要选择输入1、您可以发送数字1 (0x31)的代码、后跟字母 B (0x42)、后跟1 (0x31)、并以句点(0x2E)结束。 然后、您应该以类似的格式获得定义的响应。 这些字节中的每一个字节都需要预先添加一个开始位(0)和一个停止位(1)、以匹配您链接的手册中定义的 UART 格式。 本手册还定义了数据传输速率、在本例中为9600波特。

    您可以在此处找到有关使用 Arduino 串行端口的一些信息: www.Arduino.cc/.../。 它看起来是 Serial.print()命令可以满足您的需要。 我认为默认的 UART 配置使用8个数据位、无奇偶校验位和一个停止位、因此这应该与您的交换机所需的一致。

    希望这对您有所帮助-如果您有其他 RS-232问题、敬请告知。

    此致、
    最大
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回答!

    我不知道编码问题是否属于此论坛的范畴、但无论如何、我会发布我的问题:

    我的 MAX232主板已有几天没有到达、因此我想确保在代码到达此处之前完全了解代码。
    我需要做的就是:

    //以正确的波特率开始。
    Serial.begin(9600);

    //发送"0B2"。 使用'SEL.print'的 ASCII 默认值:8个数据位,无奇偶校验,1个停止位。
    serial.print ("0b2.");

    它表示默认为 RX 和 TX 引脚、因此我不需要设置任何引脚。
    至于'SEL.print',我是否需要在代码片段中执行上述操作? 因为它看起来太简单了...

    感谢您的帮助!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Steve、

    是的、这是我在阅读 Arduino 文档时的理解。 不过、我不能声称自己是专家。

    在获得 MAX232主板之前、您应该能够将两个 Singroinos 连接在一起、或者将一个 TX 环回到其 RX、以确保通信按预期工作。 一旦 MAX232也可用、您也可以执行同样的操作。 然后、当您连接到交换机(如果它不起作用)时、您至少知道问题更可能与数据格式化有关、而不是与物理信令有关(假设您使用的电缆支持 RS-232通信、引脚分配都兼容)。

    最大
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢! 我将进行一些测试、希望我能够根据您的建议进行测试!
    我已将您的第一个帖子标记为答案。