gpt4 book ai didi

c - 使用 Arduino Mega 2560 - RS232 从条码扫描仪读取 Tx

转载 作者:行者123 更新时间:2023-11-30 17:06:30 25 4
gpt4 key购买 nike

在过去的几天里,我一直在尝试创建一个从条形码扫描仪的 Tx 读取的程序。我尝试了很多不同的东西,例如不同的程序,还有不同的扫描仪。我编写的示例程序例如:

#include <SoftwareSerial.h>
SoftwareSerial mySerial (50, 51);
unsigned char incomingByte;


void setup ()
{
Serial.begin (9600);
mySerial.begin (9600);
Serial.println ("begin initial Serial!\n");
}

void loop ()
{
while(mySerial.available () > 0)
{
incomingByte=mySerial.read ();
Serial.print (incomingByte,HEX);
}
Serial.println ();
}

目前我无法提供正确的连接图(当我有机会时会提供),但arduino MEGA 2560通过3条线连接到条形码扫描仪,A Tx(引脚50),Rx(引脚51)和接地

传输数据的背景信息:起始位:0x02停止位:0x03

最终目标:扫描仪扫描条形码,arduino 读取数据流并在识别代码时发送输出。

如何实现最终目标?

提前致谢!

最佳答案

Arduino 2560引脚50和51是TTL电平信号。您需要提供一个 RS-232 驱动器来反转和电平转换信号。

示例驱动程序是 MAX232CPE。

http://www.surplus-electronics-sales.com/index.php?main_page=product_info&cPath=15&products_id=828&gclid=CJv7vNWim8oCFYOEaQodSjQDFQ

此外,softwareserial 支持反转逻辑电平的选项。从 Arduino 页面:

inverse_logic:用于反转传入位的意义(默认为正常逻辑)。如果设置,SoftwareSerial 将 Rx 引脚上的低电平(引脚上通常为 0 伏)视为 1 位(空闲状态),将高电平(引脚上通常为 5 伏)视为 0 位。它还会影响写入 Tx 引脚的方式。默认值为 false。

警告:您不应连接输出超出 Arduino 可处理范围的串行数据的设备,对于以 5V 运行的板,通常为 0V 至 5V,对于以 3.3V 运行的板,通常为 0V 至 3.3V。

Arduino SoftwareSerial Reference page

关于c - 使用 Arduino Mega 2560 - RS232 从条码扫描仪读取 Tx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34661610/

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