c - 读取Raspberry Pi上的PPM信号

标签 c linux raspberry-pi

我有一台FS-IA6B,支持输出PPM数据。该设备是 RC 控制的接收器(轴输入,包括 throttle /俯仰/横滚/偏航)。我想知道是否可以通过 GPIO 将包含 6 个 channel 的输出解析到我的 Raspberry Pi,然后显示原始数据。

最佳答案

读取 PWM/PPM 需要微秒精度,这在 Raspberry Pi 上可能不容易实现。

可靠地捕获 PPM 的最简单方法是购买一个带有串行或 I2C 接口(interface)的廉价微 Controller ,并将其连接到您的 Raspberry Pi。

首先,您可以尝试了解脉冲位置调制 (PPM) 的工作原理。 PPM 有点像 PWM,只不过它是携带数据的脉冲之间的时间,而不是脉冲本身的持续时间。 Reference

PPM Frame

您可以使用 pigpio 的硬件定时采样来计算 PPM 帧的上升沿之间的时间周期。

enter image description here

或者,您可以使用hardware interrupt在 Arduino 上计算 PPM 帧上升沿之间的时间周期,并通过串行或 I2C 将输出发送到 RaspberryPi。

这是一个精彩的article这可能是一个很好的起点。

关于c - 读取Raspberry Pi上的PPM信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57938950/

相关文章:

地穴类型识别/etc/shadow

linux - 需要 shell/perl 脚本来屏蔽 Linux 上日志文件中的敏感信息,如名字、出生日期、ssn 等

java - Makefile: fatal error :jni.h:没有这样的文件或目录

python - django-debug-toolbar-line-profiler 只显示单行输出,没有内容

python - 在将 Signals 与 Python Flask 结合使用方面需要帮助

c - 我们如何返回最后一个字符串的索引或最后一个字符串的基地址?

c - 结构数组作为参数传递给 read() 问题

C 宏将函数名称与预定义的名称列表进行比较

linux - Linux内核是如何实现重入的?

linux - 使用 shell 脚本打破条件循环逻辑读取 .csv 文件