openwrt默认使用的波特率是115200,单片机或arduino的串口波特率可自行设置。当然,一般都会设置9600,也可以设置为115200。假设现在openwrt波特率为115200,单片机的串口波特率为9600.要进行一个通信,该如何设置呢-?
一般51的单片机设置115200是比较麻烦的—而arduino就比较方便,所以还是改OPENWRT的串口波特率较好。
首先我们需要在openwrt上使用coreutils-stty这个软件更改波特率。安装coreutils-stty很简单,opkg update更新软件列表,然后opkg install coreutils-stty就OK了。安装完之后使用命令更改波特率: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)