- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我需要每 5 毫秒读取一次 BBB 中的所有 7 个模拟引脚。我正在使用以下 C 代码执行此操作:
void main(){
char value_str[7];
long int value_int = 0;
FILE* f0 = fopen("/sys/bus/iio/devices/iio:device0/in_voltage0_raw", "r");
while(1){
fread(&value_str, 6, 6, f0);
value_int = strtol(value_str,NULL,0);
printf("0 %li\n", value_int);
fflush(stdout);
usleep(5000);
rewind(f0);
}
但是,cpu 使用率上升得非常高 (20%)。有没有什么方法可以不同地读取模拟输入,这样它就不会占用太多的 CPU?有人建议使用“DMA”,但在这方面我完全迷失了......
我们将不胜感激。
最佳答案
This thread在 BBB 论坛上非常有用,我最终使用了 libpruio .它使用 PRU 读取 Beagle 的内置 io 引脚和模数转换器。我最终使用的代码:
#include <stdio.h>
#include <unistd.h>
#include "pruio_c_wrapper.h"
#include "pruio_pins.h"
int main(int argc, const char *argv[]) {
PruIo *io = pruio_new(0, 0x98, 0, 1);
if (io->Errr) {
printf("Initialisation failed (%s)\n", io->Errr);
return 1;
}
if(pruio_config(io, 0, 0x1FE, 0, 4, 0)){
printf("Config failed (%s)\n", io->Errr);
return 1;
}
while(1){
printf"\r%12o %12o %12o %12o %4X %4X %4X %4X %4X %4X %4X %4X\n"
, io->Gpio[0].Stat, io->Gpio[1].Stat, io->Gpio[2].Stat, io->Gpio[3].Stat
, io->Value[1], io->Value[2], io->Value[3], io->Value[4], io->Value[5]
, io->Value[6], io->Value[7], io->Value[8]);
usleep(1000);
}
pruio_destroy(io);
return 0;
}
关于beagleboneblack - 在 beaglebone black 中快速读取模拟输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23842767/
无法运行 bitbake 命令,如果这样做我会收到以下错误 joe@joe-O-E-M:~/BeagleBone/poky-dora-10.0.1/build$ bitbake core-image-
我正在尝试将压缩图像复制到Beaglebone内部的分区中。 通常,这是一个两步过程: xz -d console.img.xz # console.img is created dd if=cons
我为什么要读这个? 如果您有Beaglebone Black(BBB),并且想将自己的设备连接到它(而不是斗篷),则可能已经听说过设备树。就我而言,我想将RTC设备连接到BBB上的I2C总线。网络上散
我昨天买了 beaglebone black 并尝试使用 USB 连接它。正如我所读到的那样,它预装了运行在 192.168.7.2 的 Linux Distro,我们可以使用 ssh 访问它。但我无
我们目前正在为 BeagleBone Black 开发一个应用程序(使用标准的 Angstrom 发行版)。它在 GDB(由 Netbeans 远程控制)下运行了一段时间(5-10 分钟),但在某个相
我正在尝试将音频ADC(wm8782 / pcm1803a)与Beagle Black连接。我已经对文件 davinci-evm , wm8782.c 和BB-BONE-AUDI-01设备树覆盖文件进
我已经有一个 C 代码,可以使用 I2C 通信从加速度计读取数据,并将其打印在控制台中或将其存储在 beaglebone 内存中的 .txt 文件中。该项目的目的是将这些数据实时保存在我的电脑中,以便
我已经使用 Beaglebone Black 几年了,并且一直在努力配置引脚。 有很多方法随着内核更新而改变。结果,互联网上的许多信息与其他帖子相矛盾,其中许多根本不再起作用。 我见过管脚管理器、管脚
我通常使用 connman 使用以下命令为我的 beaglebone 硬件设置静态 IP:connmanctl config ethernet_985dad375f63_cable --ipv4 手册
我需要每 5 毫秒读取一次 BBB 中的所有 7 个模拟引脚。我正在使用以下 C 代码执行此操作: void main(){ char value_str[7]; long int v
我的 beagleboneblack(我们称之为“BBB”)运行 3.8.13-bone47,我已经被一个错误困扰了 2 周。 我的问题是:当我的 BBB 获取字符串时,我的 BBB 会将相同的字符串
我使用 gcc-linaro-arm-linux-gnueabihf-2014.05 在我的 mac 上使用 eclipse 交叉编译 BeagleBoneBlack (Rev c)。 我使用了这个博
硬件:BeagleBoneBlack 操作系统:Debian Jessie 内核:4.4.30-ti-r64 U-Boot: U-Boot 2016.11-rc3-00002-g73df7f7(201
有什么方法可以配置 systemd 服务(例如 serviceX)以等待 connmand 服务在 serviceX 运行之前完成网络接口(interface)配置?根据我对 systemd 的理解,
我正在使用 debian 系统开发 beaglebone black,我想通过修改“/etc/network/interfaces”来更改我的 IP,这是有效的,但是当我从 DHCP 方法切换到静态方
我正在尝试更改 BeagleBone Black 的 USB0 端口的静态 IP 地址。 我知道此线程之前已打开 ( Changing the static IP of Beagle Bone Bla
我有一个 Beaglebone Black Industrial (BBBI),我认为它与 Beaglebone Black 非常相似。 我想让BBBI默认启动到microSD卡,我发现这个guide
注意:所选答案是解决问题的原始答案,更多详细信息请参阅下面的附加答案。 我无法在 BeagleBone Green Wireless (BBGW) 上配置 SPI0。我试图在不使用覆盖层的情况下实现这
关于如何在较新版本的内核上为 PWM 配置 Beaglebone 的信息非常少。 Past instructions通过插槽文件与 PWM 接口(interface)的方法已过时,因为插槽文件和 bo
注意:所选答案是解决问题的原始答案,更多详细信息请参阅下面的附加答案。 我无法在 BeagleBone Green Wireless (BBGW) 上配置 SPI0。我试图在不使用覆盖层的情况下实现这
我是一名优秀的程序员,十分优秀!