我正在使用 STM32F407 发现做四轴飞行器。我终于能够稳定它。现在我正在尝试使用 RC 接收器,这样我就可以控制我的四轴飞行器运动。有没有办法读取我的 RC 接收器通道的 PWM 信号?此外,我的 RC 接收器支持 PPM,据我了解,它接收到一个占空比强文本数据包,但仍然不知道如何接收它。
问问题
1545 次
1 回答
0
您可以使用 SPI 接口对 RC 接收器的 PPM(或 PWM)信号进行编码。
一般方法:
- 将 PPM 信号连接到 MISO 引脚和控制器的第二个(同时)。不需要 MOSI、CLK 和 CS 引脚。
- 使用适当的时钟初始化 SPI 接口。在这个频率下,信号将在控制器中移动。尝试使用 4kHz。
- 根据信号的空闲状态,在第二个引脚上启用上升沿或下降沿中断触发。这将用于触发传入帧。
- 如果发生中断,则暂时禁用触发器并开始 spi 传输以获取几个字节(传出 ingored 且未连接)。根据帧长度 8 或 10 字节应该这样做。这将捕获长达 20 毫秒的帧。
- 获得所有字节后,再次启用触发器并重复下一帧。
接收到的数据应该包含 pwm/ppm 信号的模式。您还应该将采样率和接收的字节数与您的 RC 接收器相匹配。
于 2017-05-13T20:36:42.813 回答