第十三章 Openwrt 修改串列埠波特率 以適應普通51不支援 115200高速率

XIANFANG發表於2014-11-11

openwrt預設使用的波特率是115200,微控制器或arduino的串列埠波特率可自行設定。當然,一般都會設定9600,也可以設定為115200。假設現在openwrt波特率為115200,微控制器的串列埠波特率為9600.要進行一個通訊,該如何設定呢-

一般51的微控制器設定115200是比較麻煩的arduino就比較方便,所以還是改OPENWRT的串列埠波特率較好。

首先我們需要在openwrt上使用coreutils-stty這個軟體更改波特率。安裝coreutils-stty很簡單,opkg update更新軟體列表,然後opkg install coreutils-sttyOK了。安裝完之後使用命令更改波特率:stty -F /dev/ttyAth0 raw speed 9600,這樣就將openwrt的串列埠波特率更改為9600.

需要注意的是openwrt重啟之後串列埠波特率又會恢復到115200,我們可以將上面那條命令寫成一個shell指令碼,新增到啟動項中,每次開機自動設定串列埠波特率。

指令碼內容如下:

#!/bin/sh

exec stty -F /dev/ttyATH0 raw speed 9600

在啟動項exit 0前那裡新增/你的資料夾名/你的指令碼名.sh(例如 /etc/c9600.sh)

相關文章