jjzjj

c++ - 有选择地忽略串行端口上的帧错误

出于遗留原因,我需要让我的程序能够与可用规范有限的第三方设备通信。这本身并不是真正的问题,我有一些代码可以在它忽略所有串行错误时与它对话。虽然我希望它不要忽略错误——但问题是从设备接收到的每条消息都会在第一个字节上产生一个帧错误(由于制造商的一些奇怪的设计决定)。当设备发送响应时,它似乎在线路上断言一个空格6位时间,然后是一个标记2位时间,然后进入正常帧(1个空格起始位,8个数据位,2个标记停止位)。或者换句话说:传输的第一个字节似乎使用5位帧,而每个后续字节都使用8位帧;或者第一个字节实际上是一个非常短的中断条件。(除了这个怪癖,消息格式设计得相当好并且明确。)我假设这是作为某种中断

android - 蓝牙 RFCOMM 连接 : read serial data from com port in Windows 7

我正在使用Android蓝牙聊天示例应用程序。我正在尝试从Windows7中的Android设备读取串行数据。我已经能够将Android设备与笔记本电脑上的蓝牙适配器配对。根据其他一些讨论,我将示例应用程序中的UUID替换为以下内容:privatestaticfinalUUIDMY_UUID=UUID.fromString("00001101-0000-1000-8000-00805F9B34FB");当我运行Android应用程序时,我可以连接到笔记本电脑。在我的Android设备的“硬件”属性中,有一个名为“StandardsSerialoverBluetoothlink(COM1

python - 扫描智能卡时如何检测事件

我正在使用智能卡读卡器开发基于智能卡的应用程序,在这里,每当我刷卡时,我都应该获得卡的UID,基于此我需要从数据库中检索详细信息。对于这个需要我如何开始,我是否需要在始终运行后台的窗口上创建服务或有没有办法检测操作系统上的事件或任何调度程序。我能够获取UID和相关信息,但我需要在外部运行该程序。请就此问题向我提出建议,在此先感谢。 最佳答案 如果您使用USB或串行连接将读卡器连接到电脑,.您可以使用串行端口类的数据接收事件。 关于python-扫描智能卡时如何检测事件,我们在StackO

ruby - 连接到串行端口时权限被拒绝?

我想使用Ruby和串行端口gem连接到3G调制解调器。我的Ruby代码:require'serialport'classGSMsp=SerialPort.new('COM7',9600)sp.read_timeout=1500sp.write"AT\r\n"putssp.readend我在启动脚本后收到此错误:serialport.rb:25:in`create':Permissiondenied-\\.\COM7(Errno::EACCES)IDE在管理员下运行,COM端口可从Putty获得并且工作正常。(我在运行脚本之前关闭了Putty。) 最佳答案

php - 通过PHP在Windows上从Arduino从串行端口读取数据。数据与串行监视器输出不匹配

我从ArduinoUNO发送到串行端口的数据可以在Arduino串行监视器中完全按照预期进行查看,但是在我的WAMP环境中,当通过SerProxy从PHP读取数据时,我会得到一些缺少的或额外的字符(通常是在例如,一颗黑钻石)。我也发现了类似的问题,但是所有的答案都没有。通常,解决方案只针对Linux,或者只解决了Windows从串行端口读取(而不是写入)所面临的诸多挑战中的一部分。我试着让php简单地读取任何串行数据:我首先尝试了建议的php_serial类,但很快发现它只允许在windows上编写,而其他堆栈溢出问题(SerialCommunicationArduinotoPHP)的

python - 向arduino发送串行命令

我一直在尝试寻找一种方法,将串行命令从我的PC(Windows7)发送到ArduinoUnoR3。我一直在研究这个简单的程序,你应该通过USB电缆发送一个简单的“1”,以打开板载LED。我的Arduino代码应该可以正常工作(据我所知,但我会确保上传它)。我一直在尝试使用Python和pySerial发送此命令,但我似乎无法让pySerial工作。我也尝试过使用CMD,但当我输入命令时,CMD似乎卡住了(ECHO1>COM3BAUD:9600)。我是我PC的管理员。这是我的arduino编码intvar=0;intLEDPin=13;intval=0;voidsetup(){Seria

c# - 查找串行设备 COM 端口

我有一个WindowsC#应用程序。该应用程序通过串行端口连接到RFID读卡器。虽然我默认给它COM端口3。我遇到了用户端口不可用并且他正在使用的端口与他的Windows操作系统不同的情况。我的应用程序确实为用户提供了更改COM端口的能力,但是要找到他们的操作系统正在使用哪个COM端口,用户需要转到设备管理器并进行检查,新手可能不太适应。有没有一种功能或方法可以准确地找到我的RFID卡在Windows中连接到哪个端口,以便我可以简单地显示如下:应用程序端口设置为:COM....操作系统上的设备连接端口:COM....另外我的目标框架是3.5编辑1:尝试使用SerialPort.GetP

c++ - Windows 中的串行通信 - ClearCommError 在读取缓冲区中找不到数据

我想使用串行通信(使用USB到RS232转换器)将数据从笔记本电脑(windows7,处理器2.60GHz)发送到台式机(windowsxp,处理器3.10GHz)。WriteFile函数能够从笔记本电脑发送数据(NumberOfBytesWritten是正确的)。但是在桌面端,ClearCommError检测到读取缓冲区中没有数据。这是我桌面上的相关代码:while(1){ClearCommError(hPort,&dwErrors,&commStatus);if(commStatus.cbInQue!=0)ReadFile(hPort,&data,1,&dwBytesRead,NU

c - 使用函数 CreateFile(..) 在 C 中打开串行 RS232 端口

HANDLEhPort=CreateFile(COM1,GENERIC_READ,0,NULL,OPEN_EXISTING,0,NULL);当没有设备连接到COM端口时,此函数是否会返回一个不为零的值? 最佳答案 目前尚不清楚您要问的问题到底是什么,但是示例中的CreateFile调用只会因以下两个原因之一而失败:没有COM1设备。这可能是因为系统中没有物理串行端口,Windows未能检测到它,或者Windows为其分配了不同的COM端口号。COM1设备已经打开。Windows只允许一个串口设备被打开一次。任何进一步打开端口的尝试都

windows - 通过 IOCP 的串行通信

是否可以将IO完成端口用于串行I/O?根据WindowsviaC/C++的说法,它暗示了这是可能的,并且确实给出了一个使用IOCP与物理文件的示例,显示了与CreateFile、ReadFile、WriteFile等的工作。然而,这实际上可以与串行通信一起工作——有没有人得到有用吗?我在网上找不到任何这方面的例子,但我不能第一个尝试吗? 最佳答案 是的,将I/O完成端口用于串行I/O工作正常。为适合IOCP的串行端口创建文件句柄需要一些设置工作。但是一旦设置完成,您就可以执行异步操作ReadFile()和WriteFile()与常规