gpt4 book ai didi

arduino - 通过 MDB 协议(protocol)通过 USART 与自动售货机通信时有关 Arduino TX 线的问题

转载 作者:行者123 更新时间:2023-12-05 06:22:31 26 4
gpt4 key购买 nike

我正在尝试在 Arduino Mega 的帮助下使用 MDB 协议(protocol)与自动售货机通信,我在这方面取得了部分成功。

附上我正在使用的电路

Breadboard Layout of Circuit

电路图如下图

Circuit Diagram

Arduino Mega 通过串口 1 与笔记本电脑通信,自动售货机通信通过 Arduino Mega 的串口 2 完成。
USART 用于通信。

我面临的奇怪问题是,仅当棕色电线 A 和 B 最初未连接(将 Arduino TX 连接到自动售货机 RX)时,与自动售货机的通信才开始发送数据。一旦我看到来自自动售货机的数据,我将电线 A 和 B 短接,Arduino 也开始向自动售货机发送数据。
但是,如果A线和B线连接在自动售货机的启动端,自动售货机不会向Arduino发送任何数据,因此不会发生任何通信。我想让它工作而无需每次都手动连接 A 线和 B 线。


我试过用

替换光耦PC817C
  • PC814
  • 4N35
  • 6N137高速光耦

我尝试将 Hex Inverter 替换为

  • 74HC04AP

我尝试在 A 线和 B 线之间放置一个机械继电器,然后是固态继电器,并尝试通过外部输入连接它们,但没有任何反应
我厌倦了添加一个光耦合器作为 A 线和 B 线之间的开关,并尝试通过固件控制它。

我什至尝试用十六进制缓冲器 HCF4050BE 和一个非门替换十六进制反相器,但无论上述组件的任何组合,问题仍然相同,它仅在 A 线和 B 线最初未连接然后在数据开始后短路时才有效来自自动售货机。

我正在使用 MateDealer's代码。
我想使这个手动过程自动化,为此需要一个简单的解决方案。

最佳答案

前段时间我在 PIC18F452 和一台使用 MDB 协议(protocol)的自动售货机之间遇到了通信问题。

在那段时间我发现,从 PIC 到 Machine 的通信与从 Machine 到 PIC 的通信相反。这是因为接收数据的电子自动售货机有一个反转信号的光极电路。<​​/p>

我记得在看MDB协议(protocol)文档的时候看到,when的部分是电子图VMC。

我建议检查那个部分,这可以解释为什么当你连接 A 和 B 线工作时,因为你反转了两次信号。

关于arduino - 通过 MDB 协议(protocol)通过 USART 与自动售货机通信时有关 Arduino TX 线的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59260726/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com