开发环境:
主机:ubuntu12.04
开发板:rt5350
openwrt:openwrt15.05
1 硬件原理从rt5350的芯片手册上可以得知, rt5350一共有两个串口, 分别为uart lite、 uart full,详细定义如下。
表1
uart lite 就是我们惯称为的串口 1,作为系统调试串口,通过这个串口,我们可以看到 openwrt(linux)系统的启动信息,并且可以通过该串口来控制开发板。 uart full 就是我们惯称为的串口 2,我们通常就是用它来做 wi-fi 串口,然后用来控制其他串口设备。
表2
通过上表,我们发现串口 1 是和 gpio15、16 复用的,而串口 2 是和 gpio7~14 复用的。如果我们再详细的看芯片手册,我们就会发现,串口 2 其实也是和 i2s 复用的,具体如下。
表3
通过这张表格,我们就能找出串口 2 对应的管脚了。对于串口,我们其实也只用关系发送(txd)、接受(rxd)和地(gnd)三个引脚。因此,对于串口 2,也就是 i2ssdi、i2sws、gnd 三个引脚了。
2 openwrt 支持串口 2为了使用开发板的串口 2,必须首先把串口使能,由于我们是使用的 mpra2 这款路由的配置, 在它的配置上串口被配置成了 gpio, 用于控制 leds, 所以这里需要把它改为串口模式。修改非常简单,只要修改 dts 配置文件就可以,这里就不啰嗦了,直接讲述如何修改串口的配置。
首先修改 target/linux/ramips/dts 目录下的 rt5350.dtsi 配置文件。默认的 rt5350.dtsi 配置文件,是将那个扩展串口状态给禁用了,所以我们看不到扩展串口。这里需要把那行去掉或者将状态改为 okay,详细如下。
rt5350.dtsi 配置文件中除了修改扩展串口状态外,还需要修改设备节点。
因为我们把扩展串口状态使能后,它将在调试串口的前面,扩展串口变为 ttys0,而调试串口变为 ttys1,所以这里需要把调试串口的 ttys0,变为 ttys1,具体如下。
修改后:
这样,rt5350.dtsi 配置文件就改完了,但是扩展串口相应引脚被设置为了 gpio 模式,怎么样才能变为串口模式了呢?需要修改 mpra2.dts 这个配置文件,同样位于源码target/linux/ramips/dts 目录下。
把 gpio 模式去掉,把设置 gpio 的设置项中 uartf 去掉,详细如下
修改后:
3 串口2 的简单测试注意:开发板上必须进行如下短接。
图1
经过前面的努力,扩展串口 2 就可以使用了,扩展串口 2 的名字为 ttys0,我们可以通过 echo hello f403tech > /dev/ttys0 这个命令进行测试,如果对方接收到 hello f403tech这个字符串,那说明串口 2 已经可以正常使用了。注意,此时串口 2 默认的波特率是 9600。
图2
程序员超任性,游戏上线测试日锁死服务器跑路创始人负债数百万
反激变换器拓扑的电路设计
传感器在细胞药制备过程中的作用
交流感应电动机和永磁电动机两种标准效率
iPhone中国市场出货衰退高于预期,郭明錤点出原因
Openwrt开发指南 第21章 OpenWrt串口的使用1
高效率、单片式、同步降压型稳压器LTC3600
动力电池跟不上及冷却系统有风险都是制约我国大功率充电发展的关键因素
二极管鲜为人知的特性
光电开关工作原理和故障分析大全
城市排水管网监测的重要性及解决措施
谷歌亚马逊持续裁员,人工智能投资将成为重点
分享一种层状氧化物材料阳离子构型分析方法
动力电池比能量是什么_动力电池比能量密度怎么计算
JAVA中注解是怎么做到的(下)
基于WiFi+蓝牙模块的智能加热棒
集成电路产品EMC测试系统的测试项目有哪些 如何进行测试
物联网科技、人工智能、大数据推进的升级零售!
HIT 11: AI生成的作品著作权归属探讨
双曲面都不是?荣耀Magic八曲面比VIVO Xplay6四曲面更忽悠?