こんにちは
S32K3xx を外部フラッシュ メモリと接続しています。このチップには、さまざまなサイズのコマンドとデータの組み合わせが必要です。たとえば、ステータスレジスタを読み取るには、1バイトのコマンドを送信し、1バイトのデータがMISOラインに表示されるのを待つ必要があります。フレーム サイズの範囲は 8 ビットから数バイトです。毎回FRAMESZを変更することなく、このチップをインターフェースする方法はありますか?
上記の例では、1バイトのコマンドを送ることはできませんでした。メモリチップが応答できるように、追加のダミーバイトを送信する必要がありました。そのため、フレーム サイズは 16 ビット長にする必要がありました。私はコマンドの1バイト+ アドレスの3バイト+ 10バイトのデータ(単なる例)を送信している他のユースケースがあります。データが変更されるたびに、FRAMESZを変更する必要があるようです。
別の質問:SPIデータレジスタで正しいデータを取得するには、フレームを送信するたびにそのレジスタを読み取る必要があるようです。SPIはこのように設定されていますか?
LPSPI1_transmit_16bits(tx_16bits);/* LPSPI1でハーフワード(16ビット)を送信 */
LPSPI1_16bits_read = LPSPI1_receive_16bits();/* LSPI1 でハーフワードを受け取る */
ご協力いただき、誠にありがとうございます!
Vusal(ブーサル)
こんにちはダニエル、
メッセージありがとうございます。これで問題は修正されました。
もう1つの簡単な質問:SPIデータレジスタで正しいデータを取得するには、フレームを送信するたびにそのレジスタを読み取る必要があるようです。SPIはこのように設定されていますか?
LPSPI1_transmit_16bits(tx_16bits);/* LPSPI1でハーフワード(16ビット)を送信 */
LPSPI1_16bits_read = LPSPI1_receive_16bits();/* LSPI1 でハーフワードを受け取る */
ありがとうございます!
最良
Vusal(ブーサル)