[背景] 之前买的USB口的HART猫: [记录]为USB接口的HART猫ExSaf ESH232U安装对应的USB转RS232驱动 其中内部是USB转RS232. 然后打算去看看之前的自己此处的某个android程序中,是否已经添加支持了对应的USB串口驱动了. 看到对应的AndroidManifest.xml中的: <application ... <activity ... <intent-filter> <action android:name="andro…
USB的VID和PID,以及分类(Class,SubClass,Protocol) 原文地址:http://blog.csdn.net/gaojinshan/article/details/7878330 USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码).VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请.每个供应商的VID是唯一的…
USB(Universal Serial BUS,通用串行总线)协议规定,所有的USB设备都有VID(Vendor ID,供应商识别码)和PID(Product ID,产品识别码).VID由供应商向USB-IF(Implementers Forum,应用者论坛)申请.每个供应商的VID是唯一的,PID由供应商自行决定.主机通过VID和PID来识别不同设备,根据它们(以及设备的版本号),可以给设备加载或安装相应的驱动程序.VID和PID的长度都是两个字节的.常见的各大供应商的VID和PID,可以在…
根据USB规范的规定,所有的USB设备都有供应商ID(VID)和产品识别码(PID),主机通过不同的VID和PID来区别不同的设备,VID和PID都是两个字节长,其中,供应商ID(VID)由供应商向USB执行论坛申请,每个供应商的VID是唯一的,PID由供应商自行决定,理论上来说,不同的产品.相同产品的不同型号.相同型号的不同设计的产品最好采用不同的PID,以便区别相同厂家的不同设备. VID和PID通常情况下有两种存储方式,第一种是主控生产商的VID和PID,存储在主控的bootcode中:第…
转自:http://blog.csdn.net/gatieme/article/details/49491325 目录 1. 问题 2. 驱动源码 3. 内核配置 4. 编译内核和模块驱动 5. 加载驱动 问题 这两天为了做gps和arm的通讯,不得不捣鼓这个东东.开发板是创维特jx2410,usb转串口线的芯片是pl2303.还好是这个芯片,让我没费多少力气,就达成了目的.因为linux对它已经支持了,我们只要编译.加载它的驱动就ok了. 驱动源码 一般来说USB转串口的驱动已经集成在内核中,…
Linux下查看PID命令 cat /proc/bus/usb/devices 或 lsusb 方法一:在/etc/init.d/rcS中添加mount -t usbfs none /proc/bus/usb. 方法二:在shell中输入mount -t usbfs /proc/bus/usb /proc/bus/usb. 前提是在编译内核时选中usb device filesystem. # cat   /proc/bus/usb /device T:  Bus=01 Lev=00 Prnt=…
USB VID PID 查询:http://www.linux-usb.org/usb.ids 说明: USB设备中有VID何PID,分别表示此USB设备是哪个厂商的哪种设备. 一个USB的VID对应一个USB设备厂商,是必须到USB官方注册才能用此VID的. 所以USB官网上,可以查询到对应的VID,其中也包含了一些常用的VID. 一些遇到过的例子: 1.Silicon Labs的CP210x USB to UART的VID=0x10C4,PID=0xEA60 去确认CP210x UART B…
由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:http://blog.csdn.net/cokewei/article/details/8281239 将端口重映射到新的固定的名字,并且设置其权限为可读.使用对应的id端口映射到固定的名字上. lsusb 查看对应的usb端口信息 Bus 002 Device 001: ID 1d6b:0003 L…
本文针对在开发过程中有时会出现用到多个串口设备,usb端口号会发生变化,如设备的灯指示信号和其他控制器都是ttyUSB* .其序号与控制接入的顺序有关,对于写好的launch每次修改串口连接名很麻烦.或者每次得先插入一个再插一个,才能保证ttyUSB0 ttyUSB1.重启机器后还会变,很不方便. 下面介绍相关的映射和修改 一  单一的串口映射 用lsusb命令查看所有usb的端口信息 wei@wei :~$ lsusb        Bus 002 Device 002: ID 0bda:04…
由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:http://blog.csdn.net/cokewei/article/details/8281239 将端口重映射到新的固定的名字,并且设置其权限为可读.使用对应的id端口映射到固定的名字上. ? 1 lsusb 查看对应的usb端口信息 ? 1 2 3 4 5 6 7 Bus 002 Device…
3个月前,听朋友介绍得知OsmocomBB项目.此前一直以为GSM Sniffing需要价格昂贵的专用设备,但osmocomBB的上手成本:一个25元左右的手机,外加一根USB转TTL的串口线,着实让我吃了一惊(我自己前后买了3台手机和2种串口线以测试稳定性,总共花了100元不到) OsmocomBB教程想必很多人都看过了.写这篇文章的目的,一则是把我所遇到的问题列出来,避免以后或者其他人像我一样,被“2.5mm耳机没插到位”这种低级问题纠缠大半个月另外,如果大家还在用GSM的2G网络,还是找机…
本文介绍openocd开源软件的安装以及搭配JTAG对Xilinx u500VC707devkit的调试 PC OS: Ubuntu20.04 LTS Target ARCH: riscv64 JTAG: Olimex-ARM-USB-TINY-H OpenOCD version: OpenOCD v0.10.0 1.OpenOCD简介   OpenOCD(Open On-Chip Debugger)是一款开源的开放式片上调试软件,需要在调试适配器(如: JTAG.SWD等)的配合下可以对片上系…
一.准备工作 1.MT7601驱动下载 点击下载 2.插入usb WiFi 启动开发板linux,lsusb查看usb驱动 Bus 001 Device 003: ID 148f:7601看到的是该驱动的厂家设备信息 3.解压源码到linux下,确认USB的VID和PID,在rtusb_dev_id.c中 USB_DEVICE_ID rtusb_dev_id[] = { #ifdef RT6570 {USB_DEVICE(0x148f,0x6570)}, /* Ralink 6570 */ #e…
/******************************************************************************** * * File Name : libusb-test.c * Author : baoli * Create Date : 2017.11.21 * Version : 1.0 * Description : libusb test * compile command: gcc -o libusb libusb-test.c -lu…
USB 转 uart (cp210x.c) 驱动解析 * usb_serial_driver 结构体解析 include/linux/usb/serial.h /** 描述一个usb 串口设备驱动 * usb_serial_driver - describes a usb serial driver * 将一串描述这个驱动的字符串保存在其中,这个指针在syslog中打印当设备被插入或被拔出 * @description: pointer to a string that describes th…
在做设备串口通讯时,往往需要自动连接到想要连接的usb转串口设备上. #include <Setupapi.h> int CMFCApplication1Dlg::FindUSBCOM() { #pragma comment(lib, "setupapi.lib") HDEVINFO hDevInfo = SetupDiGetClassDevs(NULL, NULL, NULL, DIGCF_ALLCLASSES | DIGCF_PRESENT); if (hDevInfo…
背景: 需要使用到USB协议,我一直尝试着去强记这个流程,现在看来,其实不用.看多了,把这个过程具象出来,就牢牢记住了. 正文: 正文转自:http://fangjian0518.blog.163.com/blog/static/5591965620116283232431/ 一 枚举过程: ◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态. ◆主机检测设备. ◆集线器使用中断通道将事件报告给主机. ◆主机发送Get_Port_Status(读端口状态)请求,以获取更…
1. 枚举是什么?        枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序.调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了.        USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告.在系统启动时,主机轮询它的根hub(Root Hub)的状态看是否有设备(包括子hub和子hub上的设备)连接…
一.准备工作:      将上一节搭建的工程复制一份,命名为"3.uart".这一节主要讲如何使用SAM4N的UART功能,实现串口的收发. 二.程序编写: 细心看数据手册的朋友也许已经发现了,SAM4N有4个UART,还有3个USART哦,如果都配置成串口,那就足足有7个可用的串口了.也许很多人就疑惑了,UART和USART有啥区别啊?其实细节上我也不太懂有多少区别,看了数据手册,大概就明白USART可用工作在SPI模式,可用使用硬件流控,可用设置不同数据位和停止位,功能比UART要…
一.USB协议基础知识   前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB). USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统. USB主控制器这一块,我们至少要开发出 USB 的主控制器与从控制器,鼠标是低速设备,所需的是最简单的一类从控制器.主控制器则复杂得多,因为太过于复杂了,所以就形成…
发现个USB ID站点,对于做设备管理识别的小伙伴特别实用 http://www.linux-usb.org/usb.ids 附录: # # List of USB ID's # # Maintained by Stephen J. Gowdy <linux.usb.ids@gmail.com> # If you have any new entries, please submit them via # http://www.linux-usb.org/usb-ids.html # or s…
1. 枚举是什么?        枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序.调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了.        USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告.在系统启动时,主机轮询它的根hub(Root Hub)的状态看是否有设备(包括子hub和子hub上的设备)连接…
USB驱动分为两块,一块是USB的bus驱动,这个东西,Linux内核已经做好了,我们可以不管,我们只需要了解它的功能.形象的说,USB的bus驱动相当于铺出一条路来,让所有的信息都可以通过这条USB通道到达该到的地方,这部分工作由usb_core(drivers/usb/usb.c)来完成.当USB设备接到USB控制器接口时,usb_core就检测该设备的一些信息,如生产厂商的ID(VID)和产品的ID(PID),或者是设备所属的class.subclass跟protocol,以便确定应该调用…
转自:http://blog.csdn.net/myarrow/article/details/8270029 1. 枚举是什么?        枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序.调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了.        USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告…
What does this tool do? The LPC18xx/43xx DFUSec utility is a Windows PC tool that provides support functions for LPC18xx/43xx microcontroller via USB. The tool is composed of 3 components: the Image Programmer, the LPC-Link 2 Configuration Tool, and…
代码库(在hackrf原代码库基础上只添了两个文件,改了一个文件): https://github.com/JiaoXianjun/hackrf-UART-1602LCD 目的主要是为了帮助想更改调试hackrf固件的人.因为没有调试手段的话改固件基本两眼一摸黑,黑暗中摸索很难.前段日子弄收飞机的固件时已经在黑暗中把调试手段弄通了,共享给需要的人. 就是给hackrf板子加上了1602液晶屏以及uart,然后就能愉快的在自己的固件代码中输出到液晶屏或者printf到电脑的串口终端了. 1 硬件连…
一 枚举过程:◆ 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态.◆主机检测设备.◆集线器使用中断通道将事件报告给主机.◆主机发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息.◆集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求的响应.◆主机发送Set_Port_Feature(写端口状态)请求给集线器,要求它复位端口.◆集线器对设备复位.◆主机使用Chirp K信号来了解全速设备是否支持高速运行…
usb_bulk_msg函数 当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当你需要连续地对设备进行读/写时,建议你建立一个自己的urbs,同时将urbs 提交给usb子系统. 转载于此http://os.chinaunix.net/a2003/0630/1056/000001056933.shtml Linux下的硬件驱动——USB设备(上)(驱动配置部分) USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和…
ref : https://blog.csdn.net/u010142953/article/details/82627591 USB 基本知识  USB的重要关键概念:  1. 端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点.输出端点.配置端点.批量传输端点)  2. 帧:时间概念,在USB中,一帧就是1MS,它是一个独立的单元,包含了一系列总线动作,USB将1帧分为好几份,每一份中是一个USB的传输动作…
STM32 USB Virtual COM USB转串口的功能实现   这次讲的是如何实现USB转串口功能的实现.首先看看工程的布局吧: 我们主要要介绍的文件的在USB_User这个组文件.从上面的截图可以看到USB_User这个文件由hw_config.c.usb_desc.c.usb_endp.c.usb_istr.c.usb_prop.c.usb_pwr.c几个文件组成.其中usb_istr.c和usb_pwr.c整两个文件不用修改,其他的文件都需要修改.下面接慢慢将来. 首先讲讲hw_c…