问题标签 [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.

0 投票
3 回答
251 浏览

c - 处理没有 LF CR 的传入串行流

下面的代码一次处理传入的 RS232 串行数据 1 个字符并且工作正常。

但是,在我的用例中,传入的串行馈送不包含任何 CR 或 LF 字符,这使得对管道程序的进一步定界/处理变得困难。结束分隔符始终是 ! 感叹号而不是 CR 或 LF。例如 123456!abcdef!qwerty!

有没有办法修改下面的代码来代替!CR(回车)的字符?比如是传入的字符串是123456abcdef!那么程序应该替换!使用 CR,因此它输出 123456abcdef<回车>

0 投票
1 回答
173 浏览

c - MPU9150 中的磁力计传感器错误

我编写了以下程序,通过使用通过 I2c 连接 Raspberrypi 2 的 MPU9150 获取 acc、陀螺仪、磁传感器值;我可以得到正确的 acc 和 gyro 值,但磁传感器值不正确。

我显示了磁X轴(16bit)的寄存器值。高字节为 0x00 或 0xff,低字节为结果值 [0x00,0xff]。所以,我认为磁性的高字节有问题。请让我知道如何解决它。

[输出]ex.1 lsb=0e,msb=00,ex.2 lsb=12,msb=00,ex.3 lsb=1d,msb=ff

0 投票
1 回答
1507 浏览

c++ - 使用 WiringPi 的简单 Makefile

我是 Makefile 的新手。我一直在为我的 RaspberyPi 相关项目使用 WiringPi 制作一个简单的 C++ 库。到目前为止,它非常简单,例如 LED 类、DuelLED、电机、按钮等(.h 和 .cpp)。我能够拼凑一个 Makefile,但我收到一个错误“没有规则可以制作 RumPi 需要的目标 RumPi.o”。(注:我的库的名字叫 RumPi)

感谢所有帮助,这是最终修复:

0 投票
0 回答
1121 浏览

raspberry-pi - 如何使用 Raspberry Pi 正确接地 12v 设备

我有一个(我认为)非常简单的问题。对于我的覆盆子,我买了一个需要 12v 电源的投币器,接线是这样的: 接线

现在我很不确定我需要如何连接硬币接收器的接地,我需要将它连接到 pi 的“GND”还是电源的“-”?

你的

更新:

我可以这样工作吗?

在此处输入图像描述

更新 2:这是另一个使用完全相同的硬币接受器的设置,但我不太确定。

https://jalibu.files.wordpress.com/2014/12/advice_machine.jpg

该产品是 CH-926:https ://www.amazon.de/Sintron-M%C3%BCnzpr%C3%BCfer-Acceptor-Selector-Laundromat/dp/B00C16P03I

编辑:有什么帮助吗?

0 投票
1 回答
444 浏览

python - 如何通过串行发送包含 NULL 字符的字符数组?

我正在使用WiringPi-Python通过串行发送数据并尝试发送 char 数组。我的问题是;如果数组包含0(NULL 字符),我无法发送数据。

如何将包含 NULL 的字符数组传递给serialPuts

0 投票
1 回答
780 浏览

c - 如何从 Arduino slave(通过 I2C)在 Raspberry Pi 3B 上读取 C 中的浮点值?

我的 Arduino 从站上有一个浮点变量,我想将它发送到我的 Raspberry Pi 3 Model B 主站。我所知道的是,我可能需要从 Arduino 发送一个字节数组,然后在我的 Raspberry Pi 上正确读取它。到目前为止,我没有运气使用它。

我不知道我应该如何阅读它,因为 WiringPi 库只提供 int 值作为回报(虽然发送 0-255 就像一个魅力)。

它已经在这里完成了,但是对于 Python 和这里。C 有一组不同的 I2C 库,并且不提供诸如结构之类的东西。

是否可以使用 WiringPi 从 I2C 读取字节数组并将其转换为 C 中的浮点数?

将 Arduino 上的数字相乘(去掉逗号)并在 Raspberry Pi 上除以也可以,但是通过 WiringPi 发送超过 255 的问题仍然存在。

以下是我在 Arduino 上发送数据的方式:

以下是我如何在 Raspberry 上读取 8 位值 (0-255)(例如,Wire.write(129)):

0 投票
1 回答
6246 浏览

raspberry-pi - 使用 C++ 在 RPi 和 Arduino 之间进行串行通信

我编写了两段代码,使用 C++ 在 Arduino 和 Raspberry Pi 之间创建串行通信。代码是:

Raspberry 中的 C++ 代码是:

所以现在我想总是使用该wiringpi从串口读取数据,我发现我可以使用SerialGetchar,但我不知道如何使用它。我只需要在我的代码中使用这部分,这样我就可以从我的 Arduino 代码中接收以串行方式编写的“来自 arduino 的你好”。

0 投票
1 回答
944 浏览

c++ - 使用 c++ 读取三个带有 Raspberry Pi 3 的 mcp3008

我正在使用 WiringPi 库(在 c++ 中)通过 SPI 连接 MCP3008 ACD,但我需要读取 24 个模拟输入,因此我必须能够连接 3 个不同的 MCP3008。我不知道如何使用 WiringPi 库管理 3 个不同的从站。

回答:(我没有足够的声誉来回答我自己的问题,所以我把它留在这里以防它对某人有用)

使用 mcp3004 库,您可以使用 SPI 接口与 de AD 转换器进行通信。

您只需将 MISO、MOSI、SCLK 和 CE0 连接到相应的从机引脚即可。主要问题是我需要使用 3 个不同的奴隶,但解决方案很简单。所有从机都需要具有相同的 MOSI、MISO、SCLK,因此您应该将这些引脚全部连接到覆盆子的 MOSI、MISO 和 SCLK 引脚。

现在您必须将 CE0 覆盆子引脚连接到您要使用的从机,并且必须将其他从机 CS 引脚拉高(因为它是低电平有效并且您希望它们处于非活动状态)。我发现这样做的方法是使用 OR-GATES(2 个输入),所以我为每个奴隶使用一个门。其中一个输入是 CE0 覆盆子引脚(其他从属相同),另一个输入是 GPIO 引脚(每个从属不同),OR-GATE 输出将连接到从属选择引脚(相同对于其他奴隶)。

这个想法是,如果你想使用从机 1,你应该将 pin1 拉低,digitalWrite(Pin1,LOW);其他的拉高digitalWrite(Pin2,HIGH); digitalWrite(PINn,HIGH)。这样做可以使第一个从机 CS 引脚具有 de CE0 的值,而其他引脚具有高电平(因此选择了第一个从机而未选择其他从机)。

您不能简单地将您想要选择的一个拉低,而将另一个拉高,因为 SPI 会以特定的时序拉高和拉低 CS 引脚

特别感谢@Ptaq666、@Jespe Juhl 和其他阅读问题并帮助我解决问题的人。

0 投票
0 回答
191 浏览

php - WiringPI 是否可以与 2 个以上的 GPIO 引脚一起使用?

我试图让 4 个 LED 灯和关闭或组合状态,但这些 LED 中只有 2 个实际工作,即 17 ,22。当我单击按钮时,其余部分似乎没有响应

这是我的 LED 控制页面的代码,只有 17 和 22 工作,wiringpi 中实际 raspi3 的接线数/针数是否有差异?还是我做错了什么?

0 投票
0 回答
882 浏览

c++ - 在 I2C 上将 M24512 EEPROM 与 Raspberry Pi 连接:将 Python 转换为 C++

我必须在 I2C 总线上将 M24512 EEPROM IC 与 Raspberry pi 连接起来。它在地址 0x50 处显示 i2cdetect -y 1

我让它在 python-smbus 上工作:

显示输出

这十分完美。但现在我想使用 WiringPi lib 将其转换为 C++。

使用上面的代码,EEPROM 读取工作正常,但写入不起作用..任何建议!