2017-05-11 37 views
0

我正在做一个使用STM32F407发现的quadcopter。我终于能够稳定它。现在我正在尝试使用RC接收器,这样我就可以控制我的四轴飞行器动作。有没有办法读取我的RC接收器通道的PWM信号? 另外我的RC接收器支持PPM,根据我的理解,它接收到一个占空比强的文本包,但仍不知道如何接收。在STM32F407读PWM信号

回答

0

您可以使用SPI接口对RC接收器的PPM(或PWM)信号进行编码。

一般方法

  • PPM信号连接到MISO引脚和所述控制器(同时)中的第二个。不需要MOSI,CLK和CS引脚。
  • 用适当的时钟初始化SPI接口。在这个频率下,信号将在控制器中移位。尝试使用4kHz。
  • 根据信号的空闲状态启用第二个引脚上的上升沿或下降沿中断触发。这将用于触发传入帧。
  • 如果发生中断,则禁用触发器临时并启动spi传输以获取多个字节(传出并未连接)。根据帧长度8或10字节应该这样做。这将捕捉帧长达20毫秒。
  • 获得全部字节后,再次启用触发器并重复下一帧。

接收到的数据应该包含pwm/ppm信号的模式。 您还应该匹配采样率和RC接收器接收的字节数。

+0

谢谢,我明天会试试这个 –