gentoo usb serial ch340 16进制读写
首先安装包含 lsusb 命令的 usbutils, emerge -v usbutils.
使用 lsusb后,可以查看到 ch340 的信息:
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
然后在内核中开启 USB-ACM, 位置在 Device Drivers -> USB support (USB_SUPPORT [=y]) -> Support for Host-side USB (USB [=m]) -> USB Modem (CDC ACM) support (USB_ACM),
重新编译后,在 /dev 中还是找不到 ttyusb0, 使用 dmesg 有错误提示:
[ 172.647083] ch34x: Unknown symbol usb_serial_port_softint (err 0)
[ 172.647136] ch34x: Unknown symbol usb_serial_deregister_drivers (err 0)
[ 172.647150] ch34x: Unknown symbol usb_serial_register_drivers (err 0)
继续在内核中寻找,发现 usb 有以下的选项:
-->[m] usb serial convert support
-->[*] usb generic serial driver
-->[m] usb winchiphead ch341 single port serial driver
-->[m] usb ftdi single port serial driver
-->[m] usb prolific 2303 single port serial driver
重新编译内核和模块,多了 usbserial,ch341,ftdi_sio,pl2303,usb-serial-simple 这几个模块。
然后重启系统后,插入 usb,自动加载了 usbserial 和 ch341 模块,同时 /dev/ttyUSB0 也出来了。
初步判断,可能不需要 usb-acm 模块。
对于CH340,内核里面有相应的驱动,所以不需要从官网上面下载驱动CH341SER_LINUX,而且官网驱动直接编译有错误。github 上面修改后的驱动 juliagoda/CH341SER
https://github.com/juliagoda/CH341SER
CH341SER-master 也是不需要的,直接用内核驱动即可。
把CH340 编译为内核模块后,不需要其他设置,直接插入 usb,会自动加载 usbserial, ch341 内核模块。
串口调试工具下载了 minicom, putty, ckermit。minicom 中可以设置使用 ckermit 来进行 kermit 的传输。先按照网络上面的教程创建了 .kermrc 文件,增加内容:
set line /dev/ttyUSB0 //如果是串口就是ttyS0
set speed 115200
set carrier-watch off
set handshake none
set flow-control none
robust
set file type bin
set file name lit
set rec pack 1000
set send pack 1000
set window 5
然后输入 kermit 启动软件,提示 /var/lock: Permission denied, 没有相应的权限。
gpasswd -a $USER uucp
gpasswd -a $USER lock
如果提示有用户组不存在,那么使用 groupadd 命令来添加新的用户组,查看已有的用户组可以直接用
groupadd 用户组
cat /etc/group | grep 用户组
别忘了退出当前的终端重新进入,这样就有相应的权限了。
把 USB2SER 模块的 232 的RXD和TXD短接,进行回环测试。
使用 ckermit 发现只能使用 ASCII 进行传输,putty 也是只能用 ASCII 传输。只能试试 minicom,发现 minicom -H 只能输出16进制,输入还是不能16进制,只能重新寻找串口软件。
找到了16进制的串口软件是 cutecom 和 xgcom,gentoo 中直接直接安装 cutecom, emerge -v cutecom。
cutecom 中配置后,可以有时间戳,16进制和ASCII 同时显示,输出作为 log 文件,保存到相应的目录,但是只能在关闭软件后自动保存。还是比较希望能有软件按照时间把输入输出一起保存下来。不过暂时 cutecom 也够用了。
gentoo usb serial ch340 16进制读写的更多相关文章
- pyserial 16进制显示与发送
pyserial 16进制显示与发送 http://www.centoscn.com/python/2013/0817/1320.html 十六进制显示的实质是把接收到的字符诸葛转换成其对应的ASCI ...
- java利用16进制来辨别png格式的图片
很多人知道利用.png的字符串结尾可以判断前端传入的图片是否为png格式,但是这只是潜意识的判断!那么如何利用png读写的特殊内容来深意识地判断图片格式呢?最近在做东西的时候遇到了点问题,在加载图片的 ...
- 16进制ascii码转化为对应的字符,付ipmitool查询硬件信息
最近工作需要在用ipmitool查询服务器硬件信息.ipmitool查询硬件信息 比如电源,使用命令: 获取PSU0信息:Ipmitool raw 0x3a 0x71 0x00: 获取PSU1信息:I ...
- iOS根据16进制的色号来设置颜色,适合封装工具类
iOS中有时候UI给的一个色号就像 #54e1b7 这个,而我们一般设置颜色都是根据RBG来设置的,所以这里需要把这个16进制的色号转为RGB值,这里我们就使用一下的方法来调用设置颜色. + (UIC ...
- Emacs 16进制模式
http://blog.163.com/lan_ne/blog/static/1926701702012112272840545/ ALT+X hexl-mode 进入16进制模式 在这一模式,直 ...
- PHP 通过Socket收发16进制数据
最近在php下做关于Socket通讯的相关内容,发现网络上好多人在了解如何进行16进制收发,研究了下,代码如下,欢迎拍砖. <?php $sendStr = '30 32 30 3 ...
- 使用AS3输出ByteArray为16进制
package { import flash.utils.ByteArray; /** * 输出ByteArray为16进制 * @author Rise */ public class Byte2H ...
- js字符串与16进制互相转换
// \x65\x76\x61\x6c是否启用\x加密 <script type="text/javascript"> function JavaDe() { var ...
- 16进制字符串转换为3进制(扩展至K进制)
[本文链接] http://www.cnblogs.com/hellogiser/p/16-to-3-or-k.html [题目] 写代码把16进制表示的串转换为3进制表示的串.例如x=”5”,则返回 ...
随机推荐
- CSS 文字概念小记
1.水平居中: 更多的是指宽度的居中,margin: 0 auto; 2.垂直居中: 是指高度的居中 PS:这个两个慨念我老是搞混,今天记录一下,防止下次又忘了
- SVG的用法
三种添加方式 <iframe src="图的地址" frameborder="0"></iframe> <object width ...
- jdbc “贾琏欲执事”
“贾琏欲执事” 1.加载驱动2.获取连接3.SQL语句4.执行SQL5.释放资源 示例: public void test_insert() { String driver="oracle. ...
- h5页面 内嵌h5页面遇到的问题
1.input框无法获取焦点输入内容 input { -webkit-user-select: auto; } 2.div里面放img标签有3px的距离 div { font-size: 0; } i ...
- 转发 C# Win32 API程序控制鼠标的操作
命名空间:using System.Runtime.InteropServices; 在程序中添加: [DllImport("User32")]public extern stat ...
- [LeetCode&Python] Problem 257. Binary Tree Paths
Given a binary tree, return all root-to-leaf paths. Note: A leaf is a node with no children. Example ...
- BZOJ1800:fly 飞行棋 (双指针 组合数)
pro: 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. N<20; sol:很可能被 ...
- java实现四则运算应用(基于控制台)
项目地址:https://gitee.com/wxrqforever/object_oriented_exp1.git 一.需求分析: 一个基于控制台的四则运算系统,要能实现生成并计算含有真,假分数, ...
- python:Hamlet英文词频统计
#CalHamletV1.py def getText(): #定义函数读取文件 txt = open("hamlet.txt","r").read() txt ...
- #学习笔记#JSP数据交互
#学习笔记#JSP数据交互 数据库的使用方式: 当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...