网站建设dede,什么网站需要经营性备案,企业门户网站需求模板,中国保险行业协会网站雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能
1. 修改VirtualBox配置文件映射串口
模拟器配置文件vms/leidian0/leidian.vbox。
在UART标签下增加(修改完成后需要将leidian.vbox修改为只读)
Port slot1 enabledtrue…雷电等基于VirtualBox的Android模拟器映射串口和测试CSerialPort串口功能
1. 修改VirtualBox配置文件映射串口
模拟器配置文件vms/leidian0/leidian.vbox。
在UART标签下增加(修改完成后需要将leidian.vbox修改为只读)
Port slot1 enabledtrue IOBase0x2f8 IRQ3 pathCOM2 hostModeHostDevice/UARTPort slot0 enabledfalse IOBase0x3f8 IRQ4 pathC:\Users\Administrator\AppData\Roaming\ChangZhi2\kernel.log hostModeRawFile/Port slot1 enabledtrue IOBase0x2f8 IRQ3 pathCOM2 hostModeHostDevice/
/UART参数配置可参考VirtuaBox User Manual的Serial Ports章节。 Port:
COM1: I/O base 0x3F8, IRQ 4
COM2: I/O base 0x2F8, IRQ 3
COM3: I/O base 0x3E8, IRQ 4
COM4: I/O base 0x2E8, IRQ 3Mode:
Disconnected
Host Device
Host Pipe
Raw File
TCP2. 重启模拟器检查串口是否可用
重启模拟器后通过命令查看是否生效
dmesg查看内核串口初始化信息
$ dmesg | grep ttyS1
6[ 0.837015] 00:05: ttyS1 at I/O 0x2f8 (irq 3, base_baud 115200) is a 16550Asetserial查询串口信息
# setserial -g /dev/ttyS1
/dev/ttyS1, UART: 16550A, Port: 0x02f8, IRQ: 3stty打开串口
# stty -F /dev/ttyS1
speed 9600 baud; line 0;
intr ^C; quit ^\; erase ^?; kill ^U; eof ^D; eol undef;
eol2 undef; swtch undef; start ^Q; stop ^S; susp ^Z; rprnt ^R;
werase ^W; lnext ^V; flush ^O; min 1; time 0;
-brkint -imaxbelecho写入数据测试
echo test /dev/ttyS13. 编译CSerialPort的android测试程序
$ git clone --depth1 https://github.com/itas109/CSerialPort.git
$ cd CSerialPort/example/CommAndroid
$ gradlew assembleDebug Task :app:externalNativeBuildDebug
Build cserialport_arm64-v8a
Build cserialport_x86BUILD SUCCESSFUL in 28s
28 actionable tasks: 28 executed4. 模拟器运行CommAndroid
修改串口权限
# chmod 666 /dev/ttyS1运行CommAndroid测试串口收发
选择可用串口 - open - send