摘要:
概述 Linux系统下使用多个USB转串口设备或一个USB设备拥有多个串口时,经常会遇到多个串口对应的设备名称无法区分的问题。Linux系统下的串口名称分配和硬件的上电顺序有关,如果是开机启动或者接在同一HUB下面,则由系统枚举各USB设备的顺序相关。以下介绍通过udev工具实现为USB转串口设备固 阅读全文
摘要:
一、实现原理 CDC ACM驱动实现以USB设备驱动和tty设备驱动为基础,可将USB设备驱动的实现看作tty驱动和硬件之间数据流转换的桥梁。也即,整个USB CDC协议的实现均体现在USB部分,USB设备的描述符定义,CDC虚拟串口的设定,线路状态设置与读取,串口数据的发送与读取均遵循CDC协议规 阅读全文
摘要:
一、TTY介绍 当前主要有三种类型tty设备及驱动程序:控制台、pty和串口。其中控制台和pty可看作为虚拟tty设备,物理tty设备包含串口、USB转串口、SPI转串口等。 二、TTY设备及驱动信息查看 确定tty设备及驱动程序类型可查阅/proc/tty/drivers文件。如下所示: 文件从左 阅读全文
摘要:
在Linux系统上使用USB转8串口芯片CH348时,需要安装厂商提供的虚拟串口驱动,驱动安装完成后,将USB插入主机会在系统的dev设备目录下生成8个不同的TTY串口设备。芯片各串口独立工作,互不影响。用户可通过/dev目录下的TTY串口设备节点名称区分各物理串口,如:ttyCH9344USB0~ 阅读全文
摘要:
USB驱动介绍 Linux内核支持两种主要类型的USB驱动程序:USB主机(Host)驱动程序和USB设备(device)驱动。主机驱动程序控制插入其中的USB设备,而USB设备驱动程序控制该设备如何作为一个USB设备和主机通信(注重的是方式)。 一、USB驱动概览 在Linux驱动中,处于USB驱 阅读全文
摘要:
1、混杂模式介绍 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下网卡只把发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃。简单的讲,混杂模式就是指网卡能接受所有通过它的数据流,不管是什么格式,什么地址的。当网卡处于这种”混杂”方式时,该网卡具备”广播地址”,它对所有 阅读全文
摘要:
在《Linux串口编程》编程一文中介绍了串口应用中常用的基本操作,如:串口打开关闭、串口设置、数据收发等。本篇文章主要基于常规串口操作进行了扩充,主要介绍如下操作: Linux系统使用非标准波特率 同步方式串口发送 select I/O复用串口数据读写 串口参数VTIME和VMIN的作用 RS485 阅读全文
摘要:
在嵌入式应用领域中,串口是最为常见的一种硬件通信接口。因为其具备协议简单,硬件电路精简等优势使得串口基本成为MCU、计算机或嵌入式产品的标配接口。本文仅介绍在Linux系统下串口编程需要使用的API和一些应用技巧,关于串口的背景知识介绍,以及Windows系统下串口编程读者可以移步至其他文章。 Li 阅读全文