- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 C++ 中进行串行操作似乎很痛苦,此外,在 Beaglebone Black 上进行操作也很困难,所以我需要有一些专业知识的人!
我使用以下命令创建了/dev/ttyO4:
echo BB-UART4 > /sys/devices/bone_capemgr.9/slots
这给了我/dev/ttyO4。然后我使用链接库在 cpp 中编写一个小程序 here .我的代码如下:
#include <stdio.h>
#include "serialib.h"
#if defined (_WIN32) || defined( _WIN64)
#define DEVICE_PORT "COM1" // COM1 for windows
#endif
#ifdef __linux__
#define DEVICE_PORT "/dev/ttyO4" // ttyS0 for linux
#endif
int main()
{
serialib LS; // Object of the serialib class
int Ret; // Used for return values
char Buffer[128];
// Open serial port
Ret=LS.Open(DEVICE_PORT,115200); // Open serial link at 115200 bauds
if (Ret!=1) { // If an error occured...
printf ("Error while opening port. Permission problem ?\n"); // ... display a message ...
return Ret; // ... quit the application
}
printf ("Serial port opened successfully !\n");
// Write the AT command on the serial port
Ret=LS.WriteString("AT\n"); // Send the command on the serial port
if (Ret!=1) { // If the writting operation failed ...
printf ("Error while writing data\n"); // ... display a message ...
return Ret; // ... quit the application.
}
printf ("Write operation is successful \n");
// Read a string from the serial device
Ret=LS.ReadString(Buffer,'\n',128,5000); // Read a maximum of 128 characters with a timeout of 5 seconds
// The final character of the string must be a line feed ('\n')
if (Ret>0) // If a string has been read from, print the string
printf ("String read from serial port : %s",Buffer);
else
printf ("TimeOut reached. No data received !\n"); // If not, print a message.
// Close the connection with the device
LS.Close();
return 0;
}
当我运行代码时,它说它成功打开端口并成功串行写入,但我在 RX 上没有收到任何数据。我已将 RX 引脚连接到 UART4(P9.11 和 P9.13)的 TX 引脚。我还连接了 UART5 的 RX 和 TX 引脚以防万一(P8.37 和 P8.38),因为 ttyO4 让我有点困惑我正在使用哪个 UART。
为了让串行端口正常工作,我缺少什么吗?或者有人可以向我推荐一个在 beaglebone black 上使用 c++ 进行串行通信的工作示例,也许就像一个循序渐进的指南?
问候,康乃尔
Boost 串行库比 serialib 工作更可靠,找到它们 here .
最佳答案
所以我尝试了与您相同的步骤。我从 http://serialib.free.fr/html/classserialib.html 下载并编译了代码并编译时带有警告
serialib.cpp: 337:40: 警告:从 NULL [-Wconversion-null] 转换为非指针类型“unsigned int”
(如果您知道如何解决这个问题,请告诉我)。但是我运行程序时将 Tx/Rx 引脚连接到 Arduino Mega Rx1/Tx1 引脚。程序写得很好,我可以看到 Arduino 读取字节。当我从 Arduino 写入 Beaglebone Black 的 Rx 时,它超时并说没有收到数据。
据我所知,这是 Rx 引脚设置方式的问题。
编辑:所以我只是打印了接收写入端口的数据的缓冲区,它接收数据就很好。所以问题出在 Ret 的值上。现在您可以使用缓冲区作为接收数据。我将尝试弄清楚为什么 ReadString() 的返回值不起作用。
关于c++ - Beaglebone 黑色串行 c++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18128814/
尝试将 MPU6050 连接到在 Beaglebone-IO 下运行 Debian、Node.js 和 Johnny-Five 的 Beaglebone Black。 使用 Johnny-Five 示
我有一个 RFID 模块连接到我的 beaglebone 并使用 python 代码读取 ID 标签。现在,我希望我的 python 代码在没有任何命令的情况下登录我的 beaglebone 时直接在
在 beagleboard 或 beaglebone 中,引脚有不同的工作模式。对于以前的内核,它们位于/sys/kernel/debug/omap_mux 中。你知道最后一个内核中那些文件在哪里吗?
我听说可以直接在 Beaglebone black 上进行开发和调试。我是做Java的。目前我必须生成 jar 并复制到开发板然后运行。但这样我就无法调试和单步执行代码。在本地调试也没有什么意义,因为
提前致谢。我正在尝试在 Texas Instrument 制造的 beaglebone black (BBB) 上播放视频。由于有很多关于使用 ffmpeg 和 SDL 的好教程,我决定使用它。获取有
我是 beaglebone 的新手,我需要一些帮助来解决我面临的一些问题。 我用 c 编写了一段代码(在装有 ubuntu 的笔记本电脑上运行),其中打开了一个服务器套接字(运行一个 apache 服
我是 beaglebone 的新生。我需要你的帮助。我已经在 Eclipse 中的 64 位 xubuntu 以及 codeblocks 环境中安装了交叉编译器工具链 arm-linux-gnueab
我正在尝试遵循发现的演练/教程 here . 我正在运行内核版本 4.1.1-ti-r2,该版本的 rcn-ee.net/deb/trusty-armhf 文件夹中似乎没有任何头文件。这意味着我无法迈
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在读取 beaglebone gpio 引脚中的霍尔传感器输出,对于中断服务例程需要执行的每个上升沿。那么,如何在 beaglebone 中使用外部中断呢?是否有用于此目的的标准驱动程序? 谢谢。
当我使用如下以太网电缆将其插入新网络时,我需要知道如何使用 SSH 连接到 beaglebone(或 beagleboard): $ ssh root@beaglebone.local 到目前
我昨天买了 beaglebone black 并尝试使用 USB 连接它。正如我所读到的那样,它预装了运行在 192.168.7.2 的 Linux Distro,我们可以使用 ssh 访问它。但我无
我们目前正在为 BeagleBone Black 开发一个应用程序(使用标准的 Angstrom 发行版)。它在 GDB(由 Netbeans 远程控制)下运行了一段时间(5-10 分钟),但在某个相
在 C++ 中进行串行操作似乎很痛苦,此外,在 Beaglebone Black 上进行操作也很困难,所以我需要有一些专业知识的人! 我使用以下命令创建了/dev/ttyO4: echo BB-UAR
我正在通过串行端口(ttyO2)连接 BBB 和一组 arduino。我有一个数组要从 BBB 发送到一组 arduino。我需要让 BBB 发送请求并等待其中一个 arduino 的回复,但如果在一
美好的一天, 我想弄清楚如何在 openCV 的 beaglebone 上关闭相机。我已经尝试了很多命令,例如 release(&camera),但都不存在,而且当我不希望它打开时,相机会继续保持打开
我需要直接从 Python 代码 关闭 Beaglebone black,而不使用任何 gpio 按钮或任何硬件干预。 有命令行 shutdown -h now 但此命令不适用于 python 代码,
我的知识:我的 Linux 知识还处于初级阶段,所以如果我做了一些愚蠢的事情,请纠正我,或者给我你的意见。 我的问题:我想以相同的方式配置一堆单板计算机(Raspberry Pi/BeagleBone
为了通过 USB 从我的 ubuntu 主机获取互联网,我更改了 beaglebone 上的路由 route add default gw 192.168.7.1 并将/etc/resolv.conf
我需要在机器人上执行一组命令,机器人已经连接了Mini-ITX PC,但速度很慢,而且实时结果不理想。 我想使用外部 BeagleBone 作为处理单元,但如何配置设置以在 BeagleBone 上处
我是一名优秀的程序员,十分优秀!