查看所有串口和usb设备方法 (1)查看串口是否可用 ?? 可以对串口发送数据,比如对com1口,echo /dev/ttyS0 (2)查看串口名称使用 ?? ls -l /dev/ttyS* ?? 输出信息: ?? crw-rw----. 1 root dialout 4, 64 5月 17 02:24 /dev/ttyS0 ?? crw-rw----. 1 root dialout 4, 65 5月 17 02:24 /dev/ttyS1 ? 一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS*,一般ttyS0对应com1(也即uart0),ttyS1对应com2(也即uart1), ? 当然也不一定是必然的 (3)查看串口驱动 ?? cat /proc/tty/driver/serial ?? 执行cat输出信息: ?? serinfo:1.0 driver revision: ?? 0: uart:16550A mmio:0xFF180000 irq:36 tx:0 rx:0 ? 如上发现串口0的uart值时16550A,tx值为0,rx值也为0,因此我们本机有1个串口启用,是串口0(即ttyS0)。 (4)查看串口设备驱动日志 ?? dmesg | grep ttyS*
(5)查一下板子上的串口有没有设备 ? #grep tty /proc/devices ? 如果有ttyS设备,再看/dev/有没有ttyS*,如没有就建立一个:mknod /dev/ttyS0 c 4 64 ? 如果板子的设备中没有标准串口设备ttyS0,也没有ttySAC0。/dev下应该有一个USB串口:/dev/ttyUSB0. ? ? 当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。通常是/dev/ttyS1(com1)或/dev/ttyS2(com2),这完成看原已内建的串口数目。 ? ttyS*设备会被报告在/var/run/stab内。
? PC上的串口一般是ttyS,板子上Linux的串口一般叫做ttySAC (6)通过stty工具指令查看串口的波特率 ???? busybox stty -F /dev/ttyS0 -a //查看串口参数,查看串口0(/dev/ttyS0)当前的参数,包括波特率、数据位等。 ???? busybox stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8 //该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。 ?? ? 一般情况下设置这两个参数就可以了。 ?? ? busybox stty -F /dev/ttyS0 speed 115200 cs8 -parenb -cstopb //115200波特率 8数据位 1停止位 无校验位 补充: (1)如果需要查看这个usb串口设备输出 cat ttyUSB0 (2)如果需要对这个usb串口设备输入 echo aaaaa > ttyUSB0 在写的串口程序不能正常接收发送数据,可能是linux下的串口设备没有打开,需要改变串口设备的权限(chmod 777 /dev/ttyUSB0).
问题:普通串口与调试串口区别???
调试串口用来打印调试信息到console控制台,普通串口用于和其他设备通信. 另外,调试串口(即fiq debugger)就是将普通串口切换成了console(即控制台输出)来处理,需在板级设备树文件将其uart串口关闭. 如RK平台的调试串口(/dev/ttyFIQ0,在device/rockchip/common/BoardConfig.mk中定义androidboot.console=ttyFIQ0) console实际上在init.rc中被定义为一个service,除了直接在init.rc中start和stop之外,还可以通过一个property来设置它是否启动(on property:ro.debuggable=1).
|