笔者通过查阅相关资料,了解了BeagleBoneBlack开发板的UART接口特性,掌握的UART接口的基本使用方法,最后通过一个C语言的例程实现串口的自发自收。有了这个串口开发板就可和其他设备进行串口通信了,比如可以将单片机通过串口挂在开发板上。
第一步:硬件连接
1、用miniUSB线将 电脑与开发板相连,BeagleBoneBlack启动之后,在浏览器里面输入192.168.7.2,打开网页之后就可以查看相关的串口信息。
(1)BeagleBoneBlack开发板的P8,P9扩展接口上共引出了四个半的串口,其中UART1,UART2,UART4,UART5四个串口的发射和接收引脚全部引出,UART3只引出了发射引脚,所以共引出了四个串口;
(2)BeagleBoneBlack开发板的UART0引脚默认作为调试引脚使用,系统上电之后UART0作为默认的打印引脚使用;
(3)接下来的实验将会以UART4为例说明串口的使用。
2、本实验的硬件连接如下图所示,将P9的11,13引脚直接连接,这样就可以实现自发自收。
1)功能说明:设置或显示环境变量。
2)语法:export [-fnp][变量名称]=[变量设置值]
3)补充说明:在shell中执行程序时,shell会提供一组环境变量。 export可新增,修改或删除环境变量,供后续执行的程序使用。
4)作用范围:export的有效期仅限于于该此登陆操作。
5)参 数:
-f 代表[变量名称]中为函数名称。
-n 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
-p 列出所有的shell赋予程序的环境变量。
6)一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。
7)export命令可以用于传递一个或多个变量的值到任何后继脚本
(2)查看环境变量:cat $SLOTS
(3)加载UART4:echo BB-UART4 > $SLOTS
(4)查看设备:ls ttyO*,ttyO4就是添加的UART4设备
1)*:匹配符。ttyO*可以过滤出所有ttyO开头的文件
2、利用minicom打开串口
2
#include<fcntl.h>
3
#include<unistd.h>
4
#include<termios.h>
//
using the termios.h library
6
int
main()
8
int
file, count;
9
if
((file = open(
"
/dev/ttyO4
"
, O_RDWR | O_NOCTTY | O_NDELAY))<
0
)
10
{
11
perror(
"
UART: Failed to open the file. \n
"
);
12
return
-
1
;
13
}
14
struct
termios options;
//
the termios structure is vital
15
tcgetattr(file, &options);
//
sets the parameters associated with file
16
//
Set up the communications options:
17
//
9600 baud, 8-bit, enable receiver, no modem control lines
18
options.c_cflag = B9600 | CS8 | CREAD |
CLOCAL;
19
options.c_iflag = IGNPAR | ICRNL;
//
ignore partity errors, CR -> newline
20
tcflush(file, TCIFLUSH);
//
discard file information not transmitted
21
tcsetattr(file, TCSANOW, &options);
//
changes occur immmediately
22
unsigned
char
transmit[
18
] =
"
Hello BeagleBone!
"
;
//
the string to send
24
if
((count = write(file, &transmit,
18
))<
0
)
25
{
//
send the string
26
perror(
"
Failed to write to the output\n
"
);
27
return
-
1
;
28
}
30
usleep(
100000
);
//
give the Arduino a chance to respond
31
unsigned
char
receive[
100
];
//
declare a buffer for receiving data
32
if
((count = read(file, (
void
*)receive,
100
))<
0
)
33
{
//
receive the data
34
perror(
"
Failed to read from the input\n
"
);
35
return
-
1
;
36
}
37
if
(count==
0
)
38
printf(
"
There was no data available to read! \n
"
);
39
else
40
{
41
printf(
"
The following was read in [%d]: %s\n
"
,count,receive);
42
}
43
close(file);
44
return
0
;
2、实验现象
转载于:https://www.cnblogs.com/zhezhe1988/p/4356856.html
笔者通过查阅相关资料,了解了BeagleBoneBlack开发板的UART接口特性,掌握的UART接口的基本使用方法,最后通过一个C语言的例程实现串口的自发自收。有了这个串口开发板就可和其他设备进行串口通信了,比如可以将单片机通过串口挂在开发板上。 第一步:硬件连接 1、用miniUSB线将 电脑与开发板相连,BeagleBoneBlack启动之后,在浏览器里面输入192....
BeagleBone Black快速入门教程
Beaglebone是与 Arduino、树莓派并列的三大开源平台之一。 Beaglebone的特点可以说是融合了Arduino与树莓派的优点。它既有比 Arduino还多的 GPIO口, 还有比树莓派更高的性能。
Beaglebone运行的是完整的 Linux操作系统,这与 Arduino、树莓派都不同。 Arduino环境只是最基本的単片机,程序编写、编译都在计算机上进行,而且调试非常困难。而Beaglebone,代码的编写编译都可以在本地进行,而且可以
使用
的语言种类繁多。例如,常用的 C、 C++、 Python、 Perl都可以用来为 Beaglebone编程。不仅如此, Beaglebone自带了基于 Web的 Cloud9编辑器以及对应的 BoneScript语言, 这使得你只需要有网络和浏览器就可以为 Beaglebone编程。
本教程是国内唯一 BeagleBone Black中文教程。本教程全面讲解 BeagleBone Black
使用
和开发。 内容包括硬件组成、Linux系统维护、硬件控制、Python开发、BoneSclipt开发等内容。
Beaglebone Black上有
UART
1-
UART
5共5个可用的
uart
串口,
UART
0供调试
使用
。我们进入/lib/firmware目录中可以看到系统自带了一些与
uart
有关的device tree
/lib/firmware/BB-
UART
1-00A0.dts
/lib/firmware/BB-
UART
2-00A0.dts
/lib/firmware/BB-
UART
4-00A0.dts
它的串口资源如下:
一共四个半串口,其中一个串口的rx被系统
使用
了没引出来,留给用户的还是4个。下面例程以
UART
1即P9.24/P9.26为例串口
使用
方法分为两大步:
1.加载
UART
cape
2.访问串口设备是这样的,BeagleBone官方把所有扩展设备(插在扩展槽上的)都叫cape。无论这个cape是真实的还
今天成功地进行了对串口的操作和配置(其实比较简单), 想记录一下。
首先,由于Beaglebone Black采用了3.8的Linux内核,引进了设备树的概念。所以要想操作特定的外设,首先要先和设备树打交道。
好在今天要操作的是串口,串口的设备树已经被包含在文件系统中了, 可以查看一下:
其中有
UART
1-
UART
5共5个
uart
串口,
UART
0供调试
使用
。
该目录下的*dtbo是
其他信号也可以通过这些引脚连接,但是在上电时,引脚是默认的设置。
要注意的是,这些引脚的电压是3.3v,不能连接5v信号,不然板子容易损坏。同时,不要在没有上电的情况下,对引脚加电压,会损坏处理器。
连接器P9:
其中PWR_BUT是5v电平,这个信号是TPS芯片内部产生的。
3.供电插口
5v直流供电,板子需要5v直流,1A的电流或者...
说明:以上测试实在BB-Black vision C上进行的,系统是linux3.8的。用的是2015年发布的debian系统,装在8gde SD卡上面。我是用USB连连接BBB到我的window主机上。然后通过putty配置ssh来控制bbb,这种方式简单高效。
BB-Black的
UART
加载是十分简单的,
UART
0是调试口,除外板子上实际支持
UART
1-5五个接口,但是在板子的设备树
对于您的问题,我可以为您提供以下推荐的开发板:
1. Raspberry Pi:这是一款广受欢迎的开发板,它有着强大的社区支持和大量的文档和教程,适合
学习
各种嵌入式开发技术,包括设备树驱动。
2. BeagleBone Black:这是另一个流行的开发板,它有着类似于Raspberry Pi的社区支持和大量的文档和教程,可以帮助您
学习
设备树驱动的开发。
3. Banana Pi:这是一款基于ARM架构的开发板,它可以运行类似于Raspberry Pi的操作系统,同时具有更多的GPIO和外设接口,适合于
学习
设备树驱动的开发。
需要注意的是,设备树驱动是一项高级的嵌入式开发技术,需要具备一定的基础知识和经验,如果您是初学者,可能需要先
学习
一些基础的嵌入式开发知识和编程技巧,再逐步深入
学习
设备树驱动的开发。