问题标签 [beagleboneblack]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何在 C/C++ 中更改波特率
您好,我需要有关如何在程序中间正确更改 UART 端口的波特率的建议。
为了与我想要的从机建立通信,我需要在 UART 上发送所谓的“中断字段”,它由 13-26(MIN 11)低位组成,因为我认为在每 8 位 UART 添加开始和之后无法实现停止位。我想通过在 9600Bauds 和 19200Baud 速度下操作波特率发送中断字段来实现它。但我无法在示波器上看到波特率之间的差异。所以我想我做错了。
我也尝试过以不同的方式设置波特率:
console - 如何注册我的 UART putc 或 puts 函数以与标准库 printf() 函数一起使用?
我正在为我的 beaglebone 编写一个裸机程序。所以我使用 UART0 作为我的串行调试消息。我做了一个自定义函数,叫做
和
这会将字符或字符串输出到我可以在终端窗口中看到的 uart0。
来自导师图形的 Sourcery-Codebench 是我在这里使用的编译器套件,它提供带有 printf() 的标准 C 库。现在我想要连接我的 uart0_putc 和 uart0_puts,这样我就可以使用提供的 printf() 在我的终端上获取格式化的消息。
谁能告诉我这可行吗?以及如何做同样的事情?
提前致谢。
c - C函数在串口关闭之前不会发送
(已于 2014 年 2 月 1 日编辑 - 将代码配对以针对此问题。使用较小的代码进行测试。编辑此姿势以显示仍然存在相同问题的全新代码。)
我正在使用 POSIX 串行指南在 Angstrom Linux 发行版内核 3.8 中研究 beagle bone black。
我有一组函数来处理 serial.c 中定义的串行通信,我想将它们用作其他程序使用的库。在函数定义之前,我在 serial.c 的顶部将这些函数的许多公共变量声明为静态变量。我的意图是这些将类似于全局变量,但仅适用于 serial.c 中的函数,并且它们将在函数调用之间保持其值。看起来确实像我想要的那样工作。
其中一个函数是 send_serial()。它就像它所说的那样,将数据发送到串行端口。如果我在 serial.c 中编写一个 main() 函数,然后从定义的同一个文件中调用它,那么 send_serial() 将按预期工作。一旦程序到达 send_serial() 行,数据就会立即写入串行端口。我可以看到发送和接收指示灯闪烁,我得到了预期的数据。
但是,当我尝试从不同的文件中使用 send_serial() 时,它的行为很奇怪。它执行正常并返回写入的正确字节数,程序继续下一行,除了根本没有实际的串行端口通信。直到程序结束或我在串口上调用 close 时,才会在串口上实际发送数据。
为什么它在同一个文件中可以正常工作,但在不同的文件中却不能正常工作。在这两种情况下,我都使用完全相同的功能来设置和打开串行端口。
串行.h
串行.c
主程序
如果我调用 send_serial(message); 从 serial.c 内部它可以工作。
如果我调用 send_serial(message); 从 serial.c 外部它不会发送,直到程序结束。
当我从 main.c 运行这个程序时,它会在 read_serial() 函数处等待,因为它正在等待来自我的设备的回复。设备没有发回回复,因为我的程序从未将消息发送到串行端口。它说它发送了它,但它没有。一旦我按下 CTRL^C,程序(或者可能是操作系统)发送消息,设备接收消息并回复我。但是我从来没有收到消息,因为程序不再运行。
compilation - ARM 上的 LWJGL(BBB 上的我的世界)
仍然追逐在 BBB 上运行 Minecraft 的白鲸,我最终得出的结论是,主要问题是双重的。首先,Minecraft 依赖于轻量级 Java 游戏库或 LWJGL,它在下载运行环境时没有可参考的 ARM 版本。其次,Minecraft 的启动器不允许您在启动过程中引用特定的 jar,这意味着任何版本的 LWJGL 及其可以移植到 ARM 的附件也必须通过 sha 检查。当然,这些可能是捏造的,但由于我似乎处于未知领域,因此我对如何进行有点不知所措。有人对从这里去哪里有任何建议或建议吗?
audio - BeagleBoneBlack - 在 ALSA 上注册 I2S ADC
我正在尝试将音频 ADC (wm8782/pcm1803a) 与 Beagle Black 连接。我已经对文件davinci-evm、wm8782.c和 BB-BONE-AUDI-01 设备树覆盖文件进行了一些更改(参见下面的代码)。我的问题是加载 dtbo 文件时 dmesg 返回:
“...未找到编解码器 DAI wm8782-hifi”
我假设我的编解码器(wm8782)没有被 alsa core 注册,但是我必须在哪里做呢?我正在运行 Ubuntu 13.10,内核:3.8.13-bone39
谢谢!
davinci-evm.c
wm8782.c
BB-BONE-AUDI-01-00A0.dts
beagleboneblack - beaglebone white A6 中的 opkg 未更新
我正在使用 beaglebone A6。我已经安装了 TI sdk 预构建的二进制文件并使用了 Ti Arago Project 文件系统。
我想为我的应用程序安装 ntp 和 gpsd 包。
我正在使用opkg install ntp
但它显示错误:
我也尝试了 opkg update,但没有任何更新。
我试过 ping Google IP 地址,它显示 ping 地址可用。
请为 opkg 和 ntp 问题提出建议。
c# - C#/Mono - 内存映射文件的问题
编辑:我已经将单声道(必须使用这些说明从源代码编译)更新到版本 3.2.7。我不再收到抱怨容量过载参数的错误,现在我收到以下错误。以前,在使用 mono verison 2.1 时,我能够打开一个小文本文件作为内存映射文件作为测试。使用新版本的单声道,无论我试图打开什么文件/提供或遗漏哪些重载参数,我都会遇到同样的错误。快速的谷歌搜索没有产生任何结果,所以我回到你身边,stackoverflow。我应该怎么办?
Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd
at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for Mono.Unix.Native.Syscall ---> System.EntryPointNotFoundException: Mono_Posix_Syscall_get_at_fdcwd
at (wrapper managed-to-native) Mono.Unix.Native.Syscall:get_at_fdcwd ()
at Mono.Unix.Native.Syscall..cctor () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
我正在从事一个涉及控制 beaglebone 上的 GPIO 引脚的项目。我正在尝试将一些 python 代码移植到 C#(我不太熟悉的一种语言)中,并且遇到了一个问题,试图将位于 /dev/mem 的板上的寄存器打开为内存映射文件,就像我在 python 中所做的那样. 我正在使用 .Net 框架版本 4.0.30319 在 Visual Studio 2010 中编写和编译代码,并使用带有编译器版本 2.10.8.1 的单声道在 ubuntu 中运行它。
精简后的代码如下:
这会产生以下错误:
Unhandled Exception: System.ArgumentException: capacity
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentException: capacity
at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in <filename unknown>:0
at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity) [0x00000] in <filename unknown>:0
at ConsoleApplication1.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
我已经尝试指定而不是指定内存映射的容量,以及从几兆字节到板上整个可用内存的容量的许多不同值。有人对从这里去哪里有提示吗?
cross-compiling - 用于 Beagelbone black Angstrom 的 ZMQ 交叉编译
有没有人成功交叉编译 Zmq 以运行在埃中的 beaglebone black?有没有可以参考的资源。
node.js - node.js 中的准确计时
我是node.js的新手,我正在尝试确定开关的开启和关闭事件之间的经过时间(使用BeagleBone Black),该脚本可以工作,有点使用.getTime()但是从我读到的不是特别准确。所以我做了一些研究并尝试使用console.time,但是从我读到的内容中,没有办法将时间值导出到这个特定应用程序中的变量中。
我正在尝试编写一个脚本来计时发动机的阀门打开和关闭事件,因此准确性至关重要。唯一的输入是一个簧片开关,它由连接到旋转飞轮的通过磁铁触发。
更简洁地说,有没有办法在 node.js 中准确地定时开/关事件?
这是我目前正在使用的完整代码。注意:我还展示了我如何尝试使用 console.time。
感谢您的帮助!
python - cv2.VideoCapture.open() 总是返回 FALSE
我正在尝试访问我的 beaglebone 上的 Logitech c310 网络摄像头。对于任何设备 ID,它总是返回 false,我不知道为什么。
我使用以下代码。
相机确实在 dev/ 和 中显示为 video0 root@arm:~#lsusb
,如下所示,
我也可以使用v4l2-ctl
. 请注意,我对 OpenCV 很陌生,所以这听起来可能很愚蠢,我提前为此道歉。