有時項目外設比較多,很容易造成串口不夠用的情況。 最近就遇到了,新增加一個GPS模塊串口的,串口現在外部只有原來的調試串口可以用,所以 嘗試將調試口更改為普通串口。 經過網上看大神們的文章和自己摸索,總結如下: V3S 修改調試串口步驟: 第一步修改設備樹: 路徑~/corelinux/v3ssdk ...
有時項目外設比較多,很容易造成串口不夠用的情況。
最近就遇到了,新增加一個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"就沒顯示是一個道理的。