DMAを使用するように適切に構成されたDFSDMインターフェース(私は信じている)を備えたSTM32H7A3 MPUを持っています。
オシロスコープの「シングルラン」のように、ソフトウェアによってトリガーされる要求 (ボタンを押すなど) で N 個の連続したサンプルを取得したいと考えています。
呼び出しHAL_DFSDM_FilterRegularMsbStart_DMA()
てうまく機能しますが、終了してHAL_DFSDM_FilterRegConvCpltCallback()
実行した後に再度呼び出すと、バッファーにはまったく同じデータが含まれます。何かのように思えますが、いくつかのバッファ ポインタ (?) をリセットする必要があります。I set
内- そうしないと、フィルタの状態がリセットされないため、HAL エラーが発生します。
連続モードが有効、トリガーがソフトウェア、DMA が有効、DMA が通常モードを使用 - 連続して実行したくないためです。HAL_DFSDM_FilterRegConvCpltCallback()
hdfsdm_filter->State = HAL_DFSDM_FILTER_STATE_READY;
誰かがそのような DFSDM セットアップを試しましたか? お知らせ下さい。
STM32Cube FW_H7 V1.9.0