使用 Arduino Mega 2560 - RS232 从条形码扫描仪读取 Tx
Reading a Tx from a barcode scanner with a Arduino Mega 2560 - RS232
在过去的几天里,我一直在尝试创建一个程序来读取条码扫描器的 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。
此外,softwareserial 支持反转逻辑电平的选项。来自 Arduino 页面:
inverse_logic:用于反转传入位的意义(默认为正常逻辑)。如果设置,SoftwareSerial 会将 Rx 引脚上的低电平(引脚上的电压通常为 0 伏)视为 1 位(空闲状态),将高电平(引脚上的电压通常为 5 伏)视为 0 位。它还会影响写入 Tx 引脚的方式。默认值为 false。
警告:您不应连接输出串行数据超出 Arduino 可以处理的范围的设备,通常 0V 到 5V,对于板 运行 在 5V,和 0V 到 3.3V 对于板 运行 在 3.3V。
在过去的几天里,我一直在尝试创建一个程序来读取条码扫描器的 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。
此外,softwareserial 支持反转逻辑电平的选项。来自 Arduino 页面:
inverse_logic:用于反转传入位的意义(默认为正常逻辑)。如果设置,SoftwareSerial 会将 Rx 引脚上的低电平(引脚上的电压通常为 0 伏)视为 1 位(空闲状态),将高电平(引脚上的电压通常为 5 伏)视为 0 位。它还会影响写入 Tx 引脚的方式。默认值为 false。
警告:您不应连接输出串行数据超出 Arduino 可以处理的范围的设备,通常 0V 到 5V,对于板 运行 在 5V,和 0V 到 3.3V 对于板 运行 在 3.3V。