查看: 2841|回复: 0

使用BBB的串口UART

[复制链接]
  • TA的每日心情

    2015-8-5 11:09
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2017-7-25 09:56:31 | 显示全部楼层 |阅读模式
    分享到:
    Beaglebone Black上有UART1-UART5共5个可用的uart串口,UART0连到了Beaglebone Black新增的串口调试引脚上,我们最后再来说它。我们进入/lib/firmware目录中可以看到系统自带了一些与uart有关的device tree
    1. /lib/firmware/BB-UART1-00A0.dts  
    2.     /lib/firmware/BB-UART2-00A0.dts  
    3.     /lib/firmware/BB-UART4-00A0.dts  
    4.     /lib/firmware/BB-UART5-00A0.dts
    复制代码
    (不知道为何没有UART3)
    以UART1为例,打开BB-UART1-00A0.dts文件我们会看到这部分内容
    1.     exclusive-use =  
    2.         /* the pin header uses */  
    3.         "P9.24",    /* uart1_txd */  
    4.         "P9.26",    /* uart1_rxd */  
    5.         /* the hardware ip uses */  
    6.         "uart1";
    复制代码
    注释写得很清楚,P9.24和P9.26分别用作了txd和rxd引脚。因此我们就可以将这两个引脚连同地线这3根线连上串口转USB模块,稍后把模块插到usb接口上。
    下面我们挂载device tree来启动UART1
    1. # echo BB-UART1 > $SLOTS
    复制代码
    进入/dev目录会发现比原来多了一个设备ttyO1(注意是大写字母O,不是数字0)。
    这时beaglebone已经准备好了,下面准备一下电脑端。

    首先要确认已经装了电脑端的PL2303驱动,mac版的可以在http://pbxbook.com/other/mac-tty.html#minicom找到。win版的一搜便是,网上有很多。
    然后需要一个串口助手。mac系统自带了一个在终端里运行的串口助手,名字叫screen,我们就先用它做实验(如果不习惯命令行,你也可以在网上找到各种有图形界面的串口助手)。
    此时电脑端也准备好了。下面开始连接。

    把usb转串口模块插到电脑上,然后在终端中进入电脑的/dev目录,会发现多了一个cu.usbserial文件。输入
    1. # screen /dev/cu.usbserial 9600
    复制代码
    不出错的话会成功打开串口,波特率为9600,终端界面也会清空,等待接收数据。
    在beaglebone Black的终端里,我们输入
    1. # echo "What a wonderful day" > /dev/ttyO1
    复制代码
    如果在screen程序的终端上显示出同样的内容,串口测试就成功了。
    如果你不小心把screen程序终端关闭了,那么再打开一个新的终端的话,会发现连接不上cu.usbserial了,是因为刚刚的串口进程还没关闭,串口还是被占用状态。在电脑端的终端中输入top命令查看进程,找到screen进程,记住PID进程号,然后按q键退出查看进程,然后输入 kill PID号 杀掉之前的screen进程就可以重新连接了。

    如何调波特率?
    在beaglebone Black的终端上,输入
    1. # stty -F /dev/ttyO1 38400
    复制代码
    就可以把ttyO1的波特率改成38400了。波特率设置不能超过终端的最大速度,可以输入stty speed查看终端的最大速度。输入stty --help可以看到stty命令更详细的参数。

    最后我们说说UART0,Beaglebone Black比上一代Beaglebone新增了串口调试引脚,我们直接把串口转usb模块的TXD,RXD和地线连到对应的引脚上(如图所示),无需进行任何配置,立刻就能开始使用了。
    TIM截图20170725095105.png

    使用方法类似,在电脑端输入(注意这个波特率超过了之前说的最大值)
    1. # screen /dev/cu.usbserial 115200  
    复制代码
    就能打开串口调试助手。在BBB上输入
    1. # echo "What a wonderful day" > /dev/ttyO0
    复制代码
    测试没有发现问题。
    转自博客魏来之路
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-5-5 13:15 , Processed in 0.112462 second(s), 18 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.