- A+
有时项目外设比较多,很容易造成串口不够用的情况。
最近就遇到了,新增加一个GPS模块串口的,串口现在外部只有原来的调试串口可以用,所以
尝试将调试口更改为普通串口。
经过网上看大神们的文章和自己摸索,总结如下:
V3S 修改调试串口步骤:
第一步修改设备树:
路径~/corelinux/v3ssdk/tools/pack/chips/sun8iw8p1/configs/tiger-spinand-standard/sys_config.fex
根据需求修改对应的uart.
;[uart_para]
uart_debug_port =0;
107 ;[uart_para]
108 ;uart_debug_port = 0
109 ;uart_debug_tx = port:PB08<3><1><default><default>
110 ;uart_debug_rx = port:PB09<3><1><default><default>
111
112 uart_debug_port = 2
113 uart_debug_tx = port:PB00<2><1><default><default>
114 uart_debug_rx = port:PB01<2><1><default><default>
第二步修改系统环境配置文件
路径~/corelinux/v3ssdk/tools/pack/chips/sun8iw8p1/configs/default/env.cfg
更改console =ttyS0,115200 ->console =ttyS2,115200
第三步修改终端重定向串口
路径:prebuilt/rootfs-override/etc/inittab
ttyS0::respawn:/sbin/getty -L ttyS0 0 vt100 # GENERIC_SERIAL
ttyS2::respawn:/sbin/getty -L ttyS2 0 vt100 # GENERIC_SERIAL
将调试串口断掉方法。
将以上3步骤对应的设置都注释掉
修改后编译调试:
用ssh网口进行调试。
查看串口波特率等信息:
stty -F /dev/ttyS0 -a #ttyS0为要查看的串口
设置串口参数:
stty -F /dev/ttyS0 ispeed 115200 ospeed 115200 cs8
该命令将串口1(/dev/ttyS0)设置成115200波特率,8位数据模式。
根据信息配置电脑的串口助手
echo "test" > /dev/ttyS0
电脑串口助手 即可收到 test.
串口助手发送test 一定要加上回车+换行
终端 cat /dev/ttyS0
过程中遇到的问题:
在linux 下 cat /dev/ttyS0 接收.
但奇怪的是 cat /dev/ttyS0没有显示受到认识数据,反而是我的串口调试助手收到了返回!!
linux端不用 cat /dev/ttyS0读的时候没有返回!
原因:
1.windows要发送可显示字符,cat才能显示出来。
2.串口调试助手设置了回显功能。
3.windows的串口调试软件发送时多发一个回车键就行了,而且之前发过去没显示的都会显示出来。这跟linux下printf不加"n"就没显示是一个道理的。