一、修改设备树
在sun8i-v3s.dtsi中添加
uart1_pins_a: uart1@0 {
pins = "PE21", "PE22";
function = "uart1";
bias-pull-up;
};
uart2_pins_a: uart2@0 {
pins = "PB0", "PB1";
function = "uart2";
bias-pull-up;
};
在sun8i-v3s-licheepi-zero-dock.dts中添加
&uart1 {
pinctrl-0 = <&uart1_pins_a>;
pinctrl-names = "default";
status = "okay";
};
&uart2 {
pinctrl-0 = <&uart2_pins_a>;
pinctrl-names = "default";
status = "okay";
};
然后编译设备树,下载就好了。
二、移植minicom
1. 配置buildroot
在buildroot 下执行 makeconfig
然后搜索
minicom
然后按1进入
选中之后保存退出,然后编译
编译好之后下载到开发板
2.验证
完成以后在开发板中输入“minicom -v”来查看 minicom 工作是否正常,结果如图所示:
可以看出,此时 minicom 版本号为 2.7.90,minicom 版本号查看正常。输入如下命令打开 minicom 配置界面:
minicom -s
mincom 工作正常了
三、测试串口功能
1.硬件连接
找一个ch340串口模块接到开发板的串口2上。
2. minicom设置
在开发板中输入“minicom -s”,打开 minicom 配置界面,然后选中“Serial port setup”,如图
选中“Serial port setup”以后点击回车,进入设置菜单,如图
主要看前 7 个设置项目,分别对应 A、B……G,比如第一个是选中串口,UART2 的串口文件为/dev/ttyS2,因此串口设置要设置为/dev/ttyS2。设置方法就是按下键盘上的‘A’,然后输入“/dev/ttyS2”即可,如图所示
设置完以后按下回车键确认,确认完以后就可以设置其他的配置项。比如 E 设置波特率、数据位和停止位的、F 设置硬件流控的,设置方法都一样,设置完以后如图
都设置完成以后按下回车键确认并退出,这时候会退回到如图所示的界面,按下ESC 键退出图所示的配置界面,退出以后如图
就是我们的串口调试界面,可以看出当前的串口文为/dev/ttyS2。
上面的信息是没有保存的,下次运行就会恢复默认, 可以通过
在修改好之后执行以下这个
然后就保存了,下次运行就是我们设置的
按下CTRL-A,然后再按下 Z 就可以打开 minicom 帮助信息界面,如图
可以看出,minicom 有很多快捷键,本实验我们打开 minicom 的回显功能,回显功能配置项为“local Echo on/off…E”,因此按下 E 即可打开/关闭回显功能。
3. 发送测试
首先测试开发板通过 UART2 向电脑发送数据的功能,需要打开 minicom 的回显功能(不打开也可以,但是在 minicom 中看不到自己输入的内容),回显功能打开以后输入“AAAA”,如图
图中的“AAAA”相当于开发板通过 UART2 向电脑发送“AAAA”,那么 PC就会接收到“AAAA”, PC 收到的数据如图所示:
可以看出,开发板通过 UART2 向电脑发送数据正常,那么接下来就测试开发板数据接收功能。
4. 接收测试
接下来测试开发板的 UART2接收功能,同样的,要先打开上PC 的本地回显,否则的话你在 PC上输出的内容会看不到,但是实际上是已经发送给了开发板。
这个我在mobaXterm上还没有找到,但是不影响我们测试。
在PC上输入AABB,在开发板上会出现
UART2 收发测试都没有问题,说明我们的 UART2 驱动工作正常。如果要退出 minicom 的话,在 minicom 通信界面按下 CRTL+A,然后按下 X 来关闭 minicom。关于 minicom 的使用我们这里讲的很简单,大家可以在网上查找更加详细的 minicom 使用教程。