有時專案外設比較多,很容易造成串口不夠用的情況,
最近就遇到了,新增加一個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"就沒顯示是一個道理的,
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/537966.html
標籤:Linux
