问题标签 [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 投票
1 回答
123 浏览

c# - C# I²C 发送者线程通过wiringPi

我试图用工作列表做一个 I²C 发送工作人员。

我将 I²C 命令保存在 ConCurrentQueue 中并尝试通过 WiringPi 库发送它

我是线程和队列的新手,这就是为什么我不知道如何以正确的方式去做。

我试过这个,但它根本不起作用:D

如果有人可以看看这个并告诉我我做错了什么,那就太好了。

这是启动线程:

0 投票
1 回答
542 浏览

arduino - 与 Arduino 的 Raspi I2C 通信与 WiringPi 问题

我在使用wiringPi'swiringPiI2CWriteReg16()函数时遇到了意外的结果,我不确定这是由于使用不正确还是其他原因。这是函数的声明:

如果有帮助,文件中有说明wiringPiI2C.c它类似于 Linux 的SMBus代码。

在我的 Arduino(Uno R3 和 Trinket Pro)上,我正在运行这个精简的草图:

我认为这Wire.read()会在字节边界处分崩离析,但在我的情况下并没有发生这种情况。也许这是我的问题......一个误解。

尽管如此,我有这个C代码(需要安装wiringPi v2.36+):

编译如下:

运行时./word,我在 Arduino 的串行输出上收到以下信息:

在第一次调用时wiringPiI2CWriteReg16(),我希望输出中的第一个字节为零(0x00),因为这是我请求的寄存器地址。第二个字节 ( 255) 也是正确的。据我所知,第三个字节 ( 0) 毫无意义(因为我只发送一个字节作为数据)。

但是,在对该函数的第二次调用中,我确实得到了寄存器的正确输出(第一个字节为0x01== 1),但第二个字节为零,第三个字节似乎是正确的余数(255 ==一个字节,+ 1)。问题是,第二个字节是0.

511如果我传入或就此而言,任何数字作为调用中的数据,都会发生完全相同的效果。

我的问题是我是否遗漏了一些明显的东西(我对 C 和 Arduino 比较陌生),和/或我是否可以得到一些关于如何更彻底地解决这个问题的指示。

0 投票
2 回答
233 浏览

raspberry-pi - 有没有更好的选择让 PI4J 在 raspbian 中从 UART 写入/读取?

我正在使用 Java 的 linux 端的 raspberryPI 中为 UART I/O 寻找更好的方法。现在我正在使用 PI4J (wiringPI),但我遇到了一些问题,我注意到很多丢失的消息。它也仅限于 57600 波特率,我希望使用更高的波特率。所以我想知道是否有另一种经过良好测试的沟通方式。

在另一边,我在运行完美的 cc2530 上运行 c。我的主要问题是在一些消息丢失的 java 端。谢谢

0 投票
1 回答
509 浏览

c++ - 处理中断时如何返回主 GUI 线程?

我有一个运行用 Qt 编写的 GUI 程序的 Raspberry Pi 3。我正在使用wiringPi库来设置一个在某个GPIO引脚变低时触发的中断。发生这种情况时,我希望出现一个对话框窗口,告诉用户 Pi 将在 10 秒内关闭,在此期间他们可以选择取消关闭。

问题是接收中断的函数是在新线程中启动的,Qt不允许在主线程之外使用定时器等。我想知道如何从中断函数与主线程进行通信。顺便说一句,该函数不接受任何参数。

示例代码:

0 投票
0 回答
89 浏览

java - 树莓派 (3) shell 脚本在 cron 启动时无法正常工作

我创建了一个简单的 shell 脚本,它基本上只是启动一个“.jar”文件。

该脚本包含以下内容

我将脚本添加到 crontask

我的应用程序将是一个“GPS 控制器”,用于为狐狸投放诱饵(狂犬病免疫)。我的应用程序包含 3 个线程,一个用于更新连接的 LCD 显示器,一个用于更新 GPS 位置和速度,一个用于投放诱饵。

我对 GPS 模块(然后提取所需的数据)和 pi4j 库(v1.1)使用串行通信来与 GPIO 进行通信。

当我从终端启动罐子时,一切都按预期工作(到目前为止,我只是计算液滴之间的距离并保存每个液滴坐标,并在 LCD 上显示当前速度和液滴之间的计算延迟)。

但是当我用“sudo reboot”重新启动我的 pi 时,我的 jar 启动,然后进行了一些“速度更新”,然后不知何故,与 GPS 模块的连接丢失了,只有 LCD 继续工作。

有人知道我的问题可能是什么原因吗?

PS。这是我项目的 GPSController 类

}

0 投票
1 回答
907 浏览

c++ - Segmentation fault with wiringPi

I'm fairly new to coding, and I've been trying to write something to write a placeholder to a text document whenever a button attached to a GPIO pin on my RasPi is pressed:

The code compiles without any complaints, but if I run it in terminal without a sudo command, I get a "segmentation fault" error.
When I run it with a sudo command, the program starts and then ends almost immediately.

For reference:

  • Pin 12 is providing power to a potential divider on the breadboard.
  • Pin 4 should take the input from this divider.
  • Pin 14 causes an LED to light whenever there is an input on pin 4.

Whenever I run the program and VERY QUICKLY press the button on the potential divider, the LED will light if I hold the button.

How can I get this to run properly without it stopping as soon as it starts?

0 投票
1 回答
606 浏览

c++ - C++ 接线Pi Crash

我正在尝试创建一个使用wiringPi 控制伺服电机的程序。但是,一旦我打电话

我的 Pi 崩溃了。知道为什么会发生这种情况吗?

到目前为止我的代码:

0 投票
1 回答
63 浏览

raspberry-pi3 - 带有 wirpingpi 的 Raspberry Pi 3 - UART 不起作用

我想通过 uart 与 atmega8 通信 RPI3。在 atmega 中,我设置了 9600 波特率、8 位、无奇偶校验位和一个停止位。我的 rpi 我正在使用 WiringPi 库,这是我的代码:

但是..我atmega我没有收到这个'50'。也许我应该在 termios 中配置连接?任何想法 ?

0 投票
1 回答
1027 浏览

c++ - 同时使用带有中断和 lcd 的wiringPi

我是 Linux 上 C++ 编程的新手。我尝试使用旋转编码器来控制液晶显示器上的值。根据我使用的wiringPi设置例程,只有中断或lcd工作,但不能同时工作。我导出了所有 nessersary GPIO,因此不需要 sudo。

这里是 C++ 代码:

现在的问题是它为什么会这样,我能/应该做什么。

0 投票
0 回答
522 浏览

python - python中的高精度睡眠/延迟(无中断)

我需要在特定时间对 Raspberry Pi3 引脚进行一些操作。例如,我通过 uart 发送一些字节,然后我需要等待大约 5 毫秒,然后再次发送下一部分字节,但我注意到,如果我这样做,time.sleep(0.005)或者例如wiringpi.delay(5)不时,这种睡眠/延迟会出现某种中断并且它不会t 需要 5ms,但例如 10ms。所有这些都是不规则的,我不知道如何解决这个问题。一些想法如何让它总是 5ms ?