我有一个ECR(电子收银机)设备,它有一个RS-232串口电缆连接到PC,但我没有给它的任何驱动程序。我正在尝试将设备连接到PC,但PC无法检测到电缆。如何检测此RS-232上连接的设备?我在Linux下工作。有什么关于如何找到这个设备的帮助吗?
下面是我在C中找到的基于波特率和COM端口号连接到设备的代码片段。
int OpenComport(int comport_number, int baudrate)
int SendByte(int comport_number, unsigned char byte)
int SendBuf(int comport_number, unsig
我有一个通过USB连接到我的Linux机器上的开发板。为了调试起见,我想监视串口。我的问题是,我不知道如何理解我应该监视哪个串口。
在终端中运行lsusb时,我看到
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0461:4e1d Primax Electronics, Ltd
Bus 001 Device 004: ID
在类似于Unix的操作系统中,我们可以通过诸如/dev/ttyUSB0之类的文件访问串口。根据这个,可以使用文件名(如COM1: )来访问串口。对于这样的文件名,java的替代方案是什么?我不想使用Serial Communication自由主义者。
编辑
我想让我的代码看起来像这样。
String INPUT_PORT_FILE_NAME = linux?"/dev/ttyUSB0":"<File name of comport>"
File in = new File(INPUT_PORT_FILE_NAME)
我想要的是替代设备文件的寡妇。
我正在尝试将usb转串口驱动程序添加到我的arch linux arm设备中,并且我注意到内核源代码树中已经包含了FTDI驱动程序的源文件,位于:
驱动程序/usb/串口,存在ftdi_sio.c和ftdi_sio.h文件。
当我导航到内核/驱动程序时,到处都找不到ftdi_sio.ko模块。
如何构建ftdi内核模块并将其包含到引导中,以便在我的arch linux arm上具有usb转串口功能?
如何使用Posix/C函数检查Linux中是否已经打开了串口?我想检查串口的状态,以检查串口是否打开。
我想知道哪些方法适用于:
检查文件描述符以查看串口是否打开
检查串口文件名以查看串口是否打开,在下面的示例中是“/dev/ttyUSB0 0”
--
// This code is for example purposes only
int open_port()
{
int fd;
fd = open("/dev/ttyUSB0", O_RDWR | O_NOCTTY | O_NDELAY);
if (fd < 0)
{
p
这是我的C程序(在Linux中)的相关部分:
while (input != ' '){
write(serial_port, msg, sizeof(msg));
//1. here I would like to wait at least 100 us with the Tx line high
//2. followed by at least 8us with the Tx line low
//3. and then repeat the message
input = mygetch();
}
如您所见,每次通过串口发送msg后,我希望将Tx行设置为10
目前我正在尝试读取串口。在Linux中工作得很好。但在Windows机器上却面临错误。
我遵循这个读取串口,并从 for windows机器下载了RXTX库(JAR + DLL文件)。
OS:Windows 10,64位
Java :Jre 1.8.0_261版本。
当通过输入流读取异常时抛出。
错误日志:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000180005b00, pid=4
我有一个Linux应用程序(我可以访问它的代码),它必须通过串口与windows one (第三方,不能访问代码)通信。windows应用程序运行在“葡萄酒”中,因此我希望将“葡萄酒”的com1设置为“某些东西”,并使我的软件从那里读写。我想最好的方法是使用伪终端,是吗?
是否有一种方法可以简单地从Linux命令行创建伪终端对?我已经知道如何使用API来完成这个任务了,但是有什么方法可以通过bash来实现呢?
也许是套餐之类的?