2017-05-11 71 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

謝謝,我明天會試試這個 –