2086405_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2086405_ja-JP

2086405_ja-JP

ImxRT 1176 LPSPI ブロッキング機能の問題

こんにちは、私はLPSPIを使用して作業しており、LPSPI_MasterTransferBlockingを使用しています。これはブロッキング機能なので、転送が完了するとLPSPIペリフェラルは空いていると予想しています。しかし、私は何か違うことを観察しました。

ブロッキング転送後、LPSPI_GetStatusFlagsを使ってSR(Status Register)を読み込み、返ってきた値は0x1001101でした。

何か提案はありますか?理想的には、ブロッキング転送の後、LPSPIはアイドル状態になっているはずです。参考までに、以下のコードスナップショットを共有します。


    if((staus_flag & kLPSPI_ModuleBusyFlag) == kLPSPI_ModuleBusyFlag)
    {
        ret = STATUS_BUSY;
        PRINTF("SPI Busy, %x, %d\r\n", staus_flag, count);
    }
    else
    {
        masterXfer.txData   = SpiTxData;
        masterXfer.rxData   = SpiRxData;
        masterXfer.dataSize = spiTransferSize;
        masterXfer.configFlags =
        kLPSPI_MasterPcs0 | kLPSPI_MasterPcsContinuous;
        status = LPSPI_MasterTransferBlocking(LPSPI1, &masterXfer);
        ret = STATUS_SUCCESS;
        staus_flag = LPSPI_GetStatusFlags(IMU_SPI_IF);
        PRINTF("staus_flag: %x\r\n", staus_flag);
        count++;
        //sw_asm_delay_us(2U);
    }


Re:ImxRT 1176 LPSPIブロッキング機能の問題

ところで、LPSPI1とIMU_SPI_IFは同じです。

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 09:26 PM
更新者: