minicom 的使用

minicom 的使用

本文采用知识共享署名 4.0 国际许可协议进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,可适当缩放并在引用处附上图片所在的文章链接。

简介

minicom是一个串口通信工具,就像Windows下的超级终端。可用来与串口设备通信,如调试交换机和Modem等。

Minicoms使用

安装

sudo apt-get install minicom

相关配置

使用前需要进行配置,执行

sudo minicom -s

可打开minicom并进入配置模式,使用方向键,选择需要配置的项目,如 Serial port setup ,回车进入配置,可以看到多个配置项,此时光标在最下方。

需要修改某个配置,则输入对应的字母,光标即会跳转到对应的项,编辑后,回车确认,光标再次回到最下方。

一般而言,需要修改

A -    Serial Device # A配置项,指定USB设备。一般USB转串口会生成设备/dev/ttyUSBx,x是数字序号。
E -    Bps/Par/Bits # E配置项,根据实际情况,指定波特率等参数
F -    Hardware Flow Control # F配置项,硬件流控,要看你的设备是否有。如果没有,或者你不确定的话,可以先关掉,将默认的Yes切换为No.

修改好之后,回车退到上一个界面,此时记得往下,选择 Save setup as dfl 将刚刚的修改保存为默认配置,避免下次使用还需要再次配置。

最后,选择 Exit 会退出配置界面,并打开minicom软件才会使用上述参数进行初始化。选择 Exit from Minicom 则会直接退出minicom。

更多

可以使用 minicom -h 查看,也可在mincon中,按 Ctrl+A 再按 Z 查看。

Ctrl+A

Ctrl+A 是mimicom的特殊功能前缀按键,但还有另一个很实用的作用,就是暂停屏幕输出。在设备开始大量输出log时,基本看不清屏幕内容。此时可以按 Ctrl+A,暂停输出,方便查看所需log。

Ctrl+A 进入特殊功能:

  • 按Z进入设置菜单

  • 按 O键:打开配置选项

  • 按 W键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行。这个功能在查看内核的啓动信息时很有用

  • 按 C键:清除屏幕的显示内容

  • 按 B键:浏览minicom的历史显示

  • 按 X键:退出minicom,会提示确认退出

  • 按 N键:可激活时间戳,在每行log前添加当前系统的时间戳

  • 按 S键:可向设备端发送文件

  • 按 R键:可接收文件

自动保存log

让 minicom 自动保存log,可以方便调试。

查看参数,minicom可以使用 -C 参数指定保存log文件。于是完善脚本,自动把log以日期命名,保存到/tmp目录下。tmp目录关机即清空,如果想持久保存log,需要修改到其他目录。

退出软件

minicom使用前缀按键 Ctrl-A,即执行特殊操作时,都需要先按 Ctrl+A,再按某个按键使用对应的功能。

Ctrl+A,再按 Z, 可查看帮助,从帮助可以看到,退出时,要先按 Ctrl+A,再按 X

其他问题

配置串口权限

minicom 本身不需要sudo权限,但因为要打开串口设备/dev/xxx ,所以一般会需要使用sudo来启动minicom。

这里我们可以修改下串口设备的权限,这样以后就不用使用sudo了。

方式一:使用命令更改

简单粗暴地使用chmod命令修改

sudo chmod 666 /dev/ttyUSB0

方式二:配置udev规则(推荐)

修改配置文件

sudo vim /etc/udev/rules.d/70-ttyusb.rules

增加一行

KERNEL=="ttyUSB[0-9]*", MODE="0666"

修改后,需要重新插拔设备,以重新生成设备节点。

配置默认文件

在/etc/minicom/目录下是minicom的配置文件

增加配置文件如下:

sudo vi  /etc/minicom/minirc.ttyUSB0
pr port             /dev/ttyUSB0
pu baudrate         115200
pu bits             8
pu parity           N
pu stopbits         1
pu minit
pu mreset
pu rtscts           No

执行

minicom ttyUSB0

加载默认配置文件

使用自动脚本

参考:EasierMinicom

com() {
	local ports_USB ports_ACM ports datename dev devs dev_count
	ports_USB=$(ls /dev/ttyUSB* 2>null | xargs -I {} basename {})
	ports_ACM=$(ls /dev/ttyACM* 2>null | xargs -I {} basename {})
	ports="$ports_USB $ports_ACM"

	#check lock
	devs=""
	dev_count=0
	for dev in ${ports}; do
		! ls /run/lock/*"${dev}"* &>/dev/null && {
			devs+="${dev} "
			((dev_count++))
		}
	done
	[ -z "$devs" ] && echo "No Unlock Devices" && return 0

	datename=$(date +%Y%m%d-%H%M%S)
	if [ $dev_count -eq 1 ]; then
		dev=$devs
	else
		#select dev to open
		echo "Please select one device: (Ctrl+C to abort)"
		select dev in $devs; do
			if [ "$dev" ]; then
				echo "You select the '$dev'"
				break
			else
				echo "Invaild selection"
			fi
		done
	fi

	out="/tmp/$(basename ${dev}).$datename.log"
	keep_dir="${HOME}/minicom_keep"

	minicom $dev -C "${out}" "$@"

	[ -f "${out}" ] && {
		echo log : "${out}"
		read -p "Keep it? [y|N]: " keep

		[ "${keep}" = 'Y' -o "${keep}" = 'y' ] && {
			read -p "Enter file name > " keep_file_name

			[ x"$keep_file_name" = x"" ] && keep_file_name=$(basename "${out}")

			mkdir -p "$keep_dir"
			cp "${out}" "${keep_dir}/$keep_file_name"
			echo "saved in $keep_dir/$keep_file_name"
		}
	}
	read -p "Vim it? [y|N]: " edit_vim

	[ "${edit_vim}" = 'Y' -o "${edit_vim}" = 'y' ] && vim "${out}"
}
  • 自动检测未锁定的设备,如果有多个则列出给用户选择,如果只有一个则直接使用。

  • 默人加载 /etc/minicom/minirc.${dev} 的配置文件

  • 自动保存log到/tmp目录,退出时,询问是否要保存到另外的目录。

使用


echo "source $(pwd)/EasierMinicom.sh" >> ~/.bashrc

source ~/.bashrc

com
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

002237

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值