こんにちは、
私はマイクロコントローラーのLPC55S69を使って、DMAを使ってSPI経由でデバイスと通信しています。
このデバイスは2msごとにデータを出力しており、私はそれを各ディスクリプタに自動的に保存しています。
4つのディスクリプタがあり、ディスクリプタ2がデータの保存を完了したときにintAをフラグし、ディスクリプタ4がバッファへのデータの書き込みを完了したときにintBをフラグするようにしたいです。
私には以下のコールバック関数があります。
void SPI_DMA_master_callback(SPI_Type *base, spi_dma_handle_t *masterHandle, status_t status, void *userData)
void SPI_RxDMACallback(dma_handle_t *handle, void *param, bool transferDone, uint32_t tcds)
void SPI_TxDMACallback(dma_handle_t *handle, void *param, bool transferDone, uint32_t tcds)
intA または intB の状態を知るには、変数 "tcds" を読み取る必要がありますが、SPI_RxDMACallback() や SPI_TxDMACallback() には入らず、コードはすべてのディスクリプタの処理が完了した後にのみ関数 SPI_DMA_master_callback() に入ります。
intAとintBが発生するタイミングを確認する方法はありますか?
ありがとうございました。
カンザス