问题标签 [wiringpi]
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 接线Pi 等到功能完成
我不是C开发人员,但我需要编写简单的程序,但我遇到了延迟问题。这是我的程序:
它工作得很好,直到我删除延迟行 (200)。在程序完成之前,我如何才能等到函数 softPwmWrite 完成而不延迟() ?我正在使用Linux和WiringPi库。谢谢。
linux - 什么是wire.requestFrom(...)的wiringPi等价物
我正在翻译一个 arduino I2C 库以在树莓派上运行,我需要知道如何运行wire.requestFrom(address, size);
. 我也许可以自己实现它,但我需要知道它的作用。在树莓派上实现这一目标的最简单方法是什么?
我正在翻译的图书馆可以在这里找到。
感谢您的帮助!
c++ - Crosstool-ng 和动态库
如何将自定义动态库(在我的情况下为 wiringPi)与使用 crosstool-ng 创建的 ARMv6 C++ 编译器一起使用?我构建了wiringPi,然后将-lwiringPi 添加到链接器选项中,使用g++ 可以正常工作,但在使用新的ARMv6 C++ 编译器时不能正常工作。
错误是:ld: cannot find -lwiringPi
鉴于交叉工具编译器似乎有自己的结构,也许我必须在 ARMv6 C++ 编译器文件中的某处构建库?
python - 来自python中int数组的无符号字符数组
我尝试使用WiringPi 在树莓派上的2004 液晶显示器上定义一个新字符(大写的德语变音符号“Ä”)lcdCharDef()
这是我的代码
当我运行此代码时,我收到以下错误:
TypeError:在方法“lcdCharDef”中,类型为“unsigned char [8]”的参数 3
我希望这些ints
与unsigned chars
[编辑]
在代码的不同部分中,我ord(char)
仅将一个字符转换为无符号整数。这可以导致正确的分析器吗?
如何将数组转换/转换为可以接受的类型?
PS(请注意(据我所知)pythonwiringPi库只是简单地包装了wiringPi的C函数)
[编辑]
我在 github 上打开了一个问题:https ://github.com/WiringPi/WiringPi2-Python/issues/20
c++ - QThread 接线Pi GPIO
我将 RaspberryPi 和 Qt 用于我读过的嵌入式项目的 Qt QThread
。我测试过QThread
,它工作得很好。我想在我的线程中控制一些 GPIO 引脚,但这不起作用我的 GPIO 引脚正在工作,我已经测试过了。
这是我的代码:
这是在 MainWindow.cpp
我wiringPiSetup
已经在我的 MainThread 中执行了。
raspberry-pi - 使用 WiringPi 在 Arduino Uno 和 Raspberry Pi 之间进行 SPI 通信
我一直在尝试实现 Raspberry Pi 2 B+(主)与 Arduino Uno Rev3(从)之间的 SPI 通信,但没有成功。
我使用了教程: http: //mitchtech.net/raspberry-pi-arduino-spi/
但是,那里提供的代码无法正常工作。我已经在整个互联网上搜索解决方案,但我找不到。我在网站上对 arduino 使用相同的代码,但我对树莓派使用以下代码:
这段代码只会给我返回垃圾。我不知道该怎么做。
java - 服务未在带 LCD 模块的 Raspbian Linux Raspberry Pi 2 型号 B 上启动
我有安装了 Raspbian Linux 的 Raspberry Pi 2 型号 B。我必须创建并启动在 LCD 模块 SC1602a 上打印文本的 linux 服务。它看起来像这样:
[ ]
我使用 Java 语言 1.8_x86 、Apache Commons Daemon 和 jsvc 创建我的守护程序服务。我还使用pi4j 项目(这是 WiringPi 的包装器)来管理 Raspberry Pi 引脚。Java类:
我使用 maven 来打包我的工件。我使用 WinScp 将工件移动到 Raspberry Pi。当我从命令行启动此应用程序时,java -jar application.jar
它运行良好。应用程序打印到 LCD 模块“hello”字符串。接下来,我尝试像 linux 服务一样启动我的应用程序。我在 Raspberry Pi 上安装了 jsvc,创建了脚本lcd
并将其移至文件夹 /etc/init.d/ 。我也是chmod +x lcd
从文件夹 /etc/init.d 中写的。这是我的脚本:
我写命令service lcd start
。这种方式行不通。在这种情况下,应用程序不会在 LCD 模块上打印任何信息。我打开日志文件并找到下一个信息:
液晶输出:
2015-08-20 12:59:09.934 [INFO] - 初始化方法...
液晶显示器错误:
接线PiSetup:无法打开/dev/mem:不允许操作服务退出,返回值为1
如您所见,尝试加载 pi4j 驱动程序时应用程序失败。我尝试扩展 dev/mem 文件的访问规则,我做到了,文件有rwxrwxrwx
但服务仍然无法正常工作。
init()
我也从方法中关闭了 LCD 初始化。服务启动良好,因此无需 LCD 服务也能正常运行。
有人知道解决方案吗?非常感谢
linux - 对GPIO的wiringPi非root访问
从这里我虽然可以使用非root用户访问GPIO,wiringPiSetupSys()
但我没有尝试过。
实际上,如果我对可执行文件执行 setuid,那么它就可以工作。那么,wiringPiSetupSys()
还不够吗?
linux - system() 调用的 WiringPi gpio 必须使用另一个进程吗?
据此,我在程序内部使用 system() ( QProcess ) 函数来调用 gpio 程序。
有用。但我注意到我需要运行我的应用程序两次,实际上它只在第二次运行。正如这里所指出的,对 gpio 的调用似乎必须在另一个进程中完成。
是否应该使用QProcess::setupChildProcess()来解决这个问题?
我扩展了 QProcess 覆盖 setupChildProcess ,然后在我的应用程序的构造函数中实例化了 SandboxProcess 。不幸的是,这没有奏效。
c++ - 如何使用字符输入停止循环而不暂停循环
再会,
我正在尝试创建一个程序,该程序从传感器获取方向数据,然后在 PID 控制算法中使用该数据来创建相应的 PWM 信号。我希望能够通过按 Enter 来停止程序。我尝试使用 opencv 的 waitKey(); 但是它不接受我的键盘输入。我也试过 cin.get(); 但它暂停了我的循环,这会产生问题。一旦四轴飞行器改变方向,我的 pwm 就不会刷新。我尝试研究其他方法,但我无法让它们起作用。这是我使用上述两种方法的代码示例。
使用 cin.get():
使用 waitKey();