我的工作是机器人,它必须控制使用无线串行通信。机器人在微控制器上运行(通过燃烧一个.hex文件)。我想用我的Linux () PC来控制它。我是新来的串口编程。我能够发送数据,但我不能读取数据。
在微控制器上运行的几段代码:
函数发送数据:
void TxData(unsigned char tx_data)
{
SBUF = tx_data; // Transmit data that is passed to this function
while(TI == 0) // Wait while data is being transmitted
;
}
我尝试用PHP在Linux平台上读取串口。
但是我不能读取任何数据。当我尝试使用.net阅读时,这一次我可以阅读。
我使用"php_serial.class.php“类进行串口操作。你可以通过这个链接阅读这个类:
我的代码是这样的:
<?php
include "php_serial.class.php";
// Let's start the class
$serial = new phpSerial;
// First we must specify the device. This works on both linux and wi
如何使用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
我正在尝试将usb转串口驱动程序添加到我的arch linux arm设备中,并且我注意到内核源代码树中已经包含了FTDI驱动程序的源文件,位于:
驱动程序/usb/串口,存在ftdi_sio.c和ftdi_sio.h文件。
当我导航到内核/驱动程序时,到处都找不到ftdi_sio.ko模块。
如何构建ftdi内核模块并将其包含到引导中,以便在我的arch linux arm上具有usb转串口功能?
我希望在Linux和Windows上以一致的方式从串口读取数据。我注意到read()和ReadFile()的行为略有不同。考虑以下代码:
// on Linux
int r = read(fd, buf, 256);
// on Windows
ReadFile(handle, buf, 256, &r, NULL);
这两个函数都将永远阻塞,直到数据到达。到现在为止还好。但是,有一点不同:read()将在至少1个字节到达时立即返回,而ReadFile()在所有256个字节到达之前不会返回。
因此,我想问:有没有办法让ReadFile()的行为像Linux上的read()一样,也就是
为了创建一对串行端口,我跟踪了。效果很好。
现在,我正在开发一个Qt应用程序(使用)通过串口发送数据,我真正想要的是这样一个虚拟串口链接。但是QSerialPortInfo::availablePorts()似乎找不到/dev/ it /.港口。
为了在linux上建立这样的串口链接,我应该尝试哪种方法?
我使用的收银机是裸露的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