首页 > 代码库 > 第十二章 Openwrt 修改串口波特率 以适应普通51不支持 115200高速率

第十二章 Openwrt 修改串口波特率 以适应普通51不支持 115200高速率

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)

第十二章 Openwrt 修改串口波特率 以适应普通51不支持 115200高速率