我使用的收银机是裸露的RedHat Linux机箱。这些寄存器有一个扫描器连接到一个串口(ttyS0)。
我们做了很多测试,要求有人站在注册和刷产品的扫描仪。我正在想办法把这个人从方程中移开。
是否有一种简单的方法来模拟来自串口的输入?
显然,向串口发送信息很容易:
echo [whatever] > /dev/ttyS0
但我真正喜欢的是某种bash代码,我可以在其中输入:
echo [barcode number] > (some code that makes the machine think the barcode number is coming from the se
过去,我曾在Linux和Windows环境中使用c++和python与串口通信。在Linux中,我还使用picocom、minicom和cutecom等程序进行串行通信,但现在我想使用简单的Linux命令读写串口,这不需要安装外部程序。我会在raspberry pi中使用这种方法与我的Arduino板进行通信。在下面的示例中,我使用stty设置串口选项,并使用echo和cat命令从串口发送和读取数据,但在最后,我没有看到任何输出,我在这个站点上阅读了与此相关的其他文章,但似乎没有什么对我有用。我可以使用cutecom与Arduino进行通信,但是使用下面的命令,我看不到任何响应。
Linux
我正在尝试将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
为了创建一对串行端口,我跟踪了。效果很好。
现在,我正在开发一个Qt应用程序(使用)通过串口发送数据,我真正想要的是这样一个虚拟串口链接。但是QSerialPortInfo::availablePorts()似乎找不到/dev/ it /.港口。
为了在linux上建立这样的串口链接,我应该尝试哪种方法?
我一直在我的linux X86机器上使用节点串行口,它工作得很好。现在,我正尝试在运行arm linux的嵌入式平台上安装节点序列化。我设法交叉编译节点本身,并能够在目标平台上运行节点/npm。
但是,简单地运行npm install serialport不起作用:
binary not available for your platform
然后npm使用node启动构建。不幸的是,构建需要Python,而python在我的嵌入式平台上是不可用的(试图交叉编译python,但没有成功:( )
有人能帮我在linux机器上交叉编译串口吗?我在网络上尝试过很多方法,但都因为某种原因失败了。
这是我的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
我有一个飞思卡尔iMX6 SMARC模块和载波板。它来自UbuntuLinaro12.04LTS(内核3.0.35)的制造商。我需要大量的串口,所以我得到了带有Exar XR17V358芯片组的Syba 8端口XR17V358卡。当我试图从Exar网站安装驱动程序时,我得到了一个错误:
make -C /lib/modules/'uname -r'/build SUBDIRS=/home/linaro/Desktop/exar modules
make: *** /lib/modules/3.0.35/build: No such file of directory. Stop
我有一个通过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