标签: usb

使用C在Linux中挂载USB驱动器

我期待以编程方式在Linux中安装USB驱动器,以便我可以使用fprintf编写文本文档.我无法找到如何安装驱动器.我一直在网上寻找答案,我找到了很多关于如何通过命令行进行教程的教程,但是在C中没有.有人请指出我正确的方向.

c linux usb

2
推荐指数
1
解决办法
7804
查看次数

C#串口通讯

如何使用C#从USB通讯端口发送和接收数据?

沟通的要求是:

  • 115.2 kBaud
  • 8位字符大小
  • 1站点
  • 没有平价

c# usb serial-port virtual-serial-port

2
推荐指数
1
解决办法
2万
查看次数

使用USB连接的Zebra打印机在Windows 7中打印ZPL

我正在尝试将一些ZPL代码发送到从Windows 7中的Java应用程序连接USB的Zebra TLP 2824.我尝试了不同的方法,但还是无法打印.在驱动程序设置中,我激活直通模式并尝试使用通用/文本模式驱动程序安装打印机,但没有任何效果.

我总是在打印队列中得到未指定的Windows错误.

这是我的代码:

        try {

           PrintService psZebra = null;
           String sPrinterName = null;
           PrintService[] services = PrintServiceLookup.lookupPrintServices(null, null);

           for (int i = 0; i < services.length; i++) {

               PrintServiceAttribute attr = services[i].getAttribute(PrinterName.class);
               sPrinterName = ((PrinterName) attr).getValue();

               if (sPrinterName.toLowerCase().indexOf("generic") >= 0) {
                   psZebra = services[i];
                   System.out.println(psZebra);
                   break;
               }
           }

           if (psZebra == null) {
               System.out.println("Zebra printer not found.");
               return;
           }
           DocPrintJob job = psZebra.createPrintJob();

           String s = "${^XA^FO100,100^BY7^BCN,100,Y,N,N^FD123456^FS^XZ}$";

           byte[] by = s.getBytes();
           DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE;
           Doc doc …
Run Code Online (Sandbox Code Playgroud)

java usb zpl

2
推荐指数
1
解决办法
3358
查看次数

在调试模式下连接USB时,Nexus 4不显示RSA对话框

我重置了工厂,我的计算机是新安装的.我启用了USB debuging,并连接到计算机.它显示驱动程序已成功安装,我可以在设备管理器中看到.但手机没有显示RSA对话框来确认连接,而在DDMS中,它是离线的...我的nexus是官方的android 4.2.2有没有人遇到过这个问题?请给出建议!谢谢!

/ *****更新**** /我试过我的办公室电脑.当连接到办公室计算机时,会弹出显示RSA密钥指纹的对话框.但是当我在家用电脑上尝试这个时,没有对话框,只有栏上的通知.

usb android dialog rsa

2
推荐指数
1
解决办法
3万
查看次数

从PC上读取收到Android手机的数据

我需要实现一个解决方案,从Android设备读取数据,通过USB线连接到PC.即连接到PC的手机将通过另一个Android设备接收数据NFC,PC C#程序必须从插入的Android手机中读取接收的数据,如下所示.

[PC]<----(2. read data) usb cable----[android phone]<-----NFC (1. transmit string)-----[android phone]
Run Code Online (Sandbox Code Playgroud)

我通过NFC这里的链接实现了数据传输- http://developer.android.com/guide/topics/connectivity/nfc/nfc.html.但是,当它通过手机接收内容(一个小的字符串消息)时,我可以找到任何关于从Android手机读取数据的参考NFC.

我试过很多谷歌搜索,但最后空手而归,因为我是这个领域的新手.如果您的专家可以指出一些关于如何实现此任务的教程/代码片段/参考,我将非常感激.

如果这个问题重复或含糊,请原谅.我是这个领域的新手,并不知道寻找在线帮助的关键字.

谢谢 :)

c# usb android nfc

2
推荐指数
1
解决办法
4383
查看次数

Udev规则在Ubuntu 12.04上不适用于libusb

我在Ubuntu 12.04.5 LTS,x86_64.

我有一个使用libusb与计算机通信的USB设备.一旦我将其插入计算机并运行通信程序,我收到以下错误:

libusb couldn't open USB device /dev/bus/usb/008/004: Permission denied.
libusb requires write access to USB device nodes.
libusb failed to find the Optotrak USB device.  Are you sure you have set the udev permissions correctly?
Run Code Online (Sandbox Code Playgroud)

所以,如果我按照以下方式修改/ dev/bus/usb/008/004:

sudo chmod 777 /dev/bus/usb/008/004
Run Code Online (Sandbox Code Playgroud)

再次运行通讯程序,然后设备完美运行.问题是每次我插入设备时,最后一个数字都会改变,所以每次usb总线都要chmod,但是因为并非所有用户都知道管理员密码,所以这是一个问题.

因此,制造商建议按如下方式编辑udev规则.在/etc/udev/rules.d中创建一个12-ndi规则:

BUS=="usb", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="da77", GROUP="plugdev"
Run Code Online (Sandbox Code Playgroud)

(我已经用lsusb检查过SYSFS是否正确)

lsusb 

Bus 008 Device 004: ID 0403:da77 Future Technology Devices International, Ltd 
Run Code Online (Sandbox Code Playgroud)

然后重新加载规则:

sudo udevadm control --reload-rules
Run Code Online (Sandbox Code Playgroud)

但仍未正确设置总线008/004的权限.

如何在每次重启时制作这些规则?如果我改变USB设备的端口,我也想让它们永久化.

linux usb ubuntu libusb udev

2
推荐指数
2
解决办法
9445
查看次数

升级到Lollipop后,Adb未检测到设备(Sony Xperia Z3)

就在昨天,我的adb工作正常,我正在平稳地开发我的应用程序...今天我将我的xperia z3更新为棒棒糖(从索尼自动更新)......并且adb停止检测设备(在mac os yosemite上).

到目前为止我检查的内容:1)我安装了最新版本的android sdk 2)我尝试了adb kill-server和adb start-server 3)我在设备上启用了双重检查开发者模式4)我仔细检查了USB连接是在大容量存储模式下

什么都行不通!请帮忙.

usb android adb android-usb android-5.0-lollipop

2
推荐指数
1
解决办法
4296
查看次数

如何检查u-boot脚本中是否存在文件?

我想从我的u-boot脚本中检查设备上是否存在文件,然后再在此设备上运行图像.实际上,这将确保在从其启动之前访问所请求的设备.如何使用u-boot控制台命令测试文件是否存在?

以下测试对USB记忆棒执行了操作,以下是USB记忆棒的结果:

> if ext2ls usb 0; then echo "USB ON"; else echo "USB KO"; fi
    <DIR>       4096 .
    <DIR>       4096 ..
    <DIR>      16384 lost+found
    <DIR>       4096 boot
                4096 boot.scr
USB ON
Run Code Online (Sandbox Code Playgroud)

没有USB棒的相同测试:

> if ext2ls usb 0; then echo "USB ON"; else echo "USB KO"; fi
** Bad device usb 0 **
USB KO
Run Code Online (Sandbox Code Playgroud)

我希望实际上是测试boot.scr文件的存在.我怎么能这样做?

linux usb android u-boot

2
推荐指数
1
解决办法
2541
查看次数

USBError:[Errno 13]访问被拒绝(权限不足)

这个问题在世界上已经很久了。有可用的讨论和解决方案。全部归结为更新规则文件并授予权限。所以我遵循了食谱。但是我仍然有同样的问题。这是显示我遵循说明的屏幕截图。

版本:

Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
usb.__version__ '1.0.2'
Run Code Online (Sandbox Code Playgroud)

错误:

    Traceback (most recent call last):
  File "/media/psf/Home/All-Projects-on-femto/LaserLab/Software/usb_4108.py", line 19, in <module>
    dev.set_configuration()
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 869, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 147, in managed_set_configuration
    self.managed_open()
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 102, in wrapper
    return f(self, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/usb/core.py", line 120, in managed_open
    self.handle = self.backend.open_device(self.dev)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 786, in open_device
    return _DeviceHandle(dev)
  File "/usr/local/lib/python2.7/dist-packages/usb/backend/libusb1.py", line 643, …
Run Code Online (Sandbox Code Playgroud)

python usb ubuntu-16.04

2
推荐指数
1
解决办法
3681
查看次数

与外部设备进行软件和串行通信时的波特率限制

我正在使用USB端口端口作为虚拟COM端口,以实现使用MATLAB或Visual Basic 6与外部设备的串行通信。我面临的波特率限制取决于我用来与设备通信的软件。MATLAB(2018a)没问题,因为它可以设置高波特率。另一方面,Visual Basic 6面临可以在软件中设置的波特率的限制。在解决方案方面,我已经考虑过在Visual Basic 6中设置更高的波特率:https : //www.mev.co.uk/pages/Support/VB-Baud.html

虚拟COM端口的驱动程序由FTDI制造,可以在以下位置找到:http : //www.ftdichip.com/Drivers/VCP.htm。在设备管理器中配置后,正在与我通信的设备在设备管理器中的“端口(COM&LPT)”下显示为“ USB串行端口(COM4)”。

该设备需要1000000的波特率和2个停止位才能成功通信(如果您需要更多信息,请告诉我)。据我所知,通过串行端口进行通信的软件中设置的波特率必须为1000000,才能与我使用的外部设备相匹配。我认为我的问题可能需要对USB端口充当虚拟COM端口时串行通信的工作方式进行一些解释,因为我担心,如果可能的话,它与使用“真实”串行端口的通信不同。FTDI驱动程序似乎非常灵活,因此我不明白为什么Visual Basic无法利用这种灵活性。在Visual Basic 6中不可能将波特率设置为1000000吗?如果不可能,是否有任何方法可以克服此限制?

波特率设置的VB6代码如下,其中“端口”是COM端口的地址,例如COM4,COM3:

MainForm.MSComm1.CommPort = Port
MainForm.MSComm1.Settings = "9600,N,8,1"
Run Code Online (Sandbox Code Playgroud)

如果有人可以帮助我理解在这种情况下串行通信的工作原理,并且如果我可以克服Visual Basic 6的限制,我将不胜感激。

vb6 usb matlab serial-port baud-rate

2
推荐指数
1
解决办法
255
查看次数