Everything

使用例

送信と同じデータ数の受信が完了すると通信を停止する

 

[GUI設定例]

シリアルペリフェラルインタフェース

RSPI0

使用する

機能設定

SPI動作(4線式)マスタ送信/受信機能

RSPCKA端子

PC5 (A)

MOSIA端子

PC6 (A)

 

 

 

MISOA端子

PC7 (A)

 

 

Rspi4WireMethod_TransmitReceive_Master0

 

使用する

 

 

 

バッファサイズ

64 ビット(バッファへのアクセスサイズはワード)

 

 

 

パリティビット

送信データパリティビットを付加しない 受信データのパリティチェックを行わない

 

 

 

ベースビットレート

1000(kbps)(実際の値: 1000 エラー: 0)

 

 

 

SSL信号アサート開始からRSPCK 発振までの期間(RSPCK 遅延)

1 RSPCK

 

 

 

最終RSPCK エッジ送出からSSL信号ネゲートまでの期間(SSL ネゲート遅延)

1 RSPCK

 

 

 

転送終了後のSSL信号の非アクティブ期間(次アクセス遅延)

1 RSPCK + 2 PCLK

 

 

 

MOSIアイドル値(マスタモード時SSLネゲート期間のMOSI出力値)

前回転送した最終データ

SSLA0端子

使用しない

 

 

 

SSLA1端子

PC0 (A) (アクティブLow)

SSLA2端子

使用しない

SSLA3端子

使用しない

RSPI端子制御設定(マスタ時のRSPCK SSLA MOSI / スレーブ時のMISO

CMOS出力

ループバックモード

通常モード

転送データ処理

割り込みサービスルーチンで処理する

SPTI0 優先順位

レベル15

SPRI0 優先順位

レベル15

 

 

 

エラー割り込み許可(SPEI0)

使用する

 

 

 

SPEI0

 SPII0 優先順位 (グループAL0)

 

 

 

送信完了

使用する

 

 

 

受信完了

使用する

 

 

 

エラー検出

使用する

 

 

 

コマンドの数、フレーム数

コマンド数: 1 転送フレーム数: 1

 

 

 

<Command0>

 

 

 

 

ビット長

8ビット

 

 

 

フォーマット

MSBファースト

 

 

 

RSPCK位相

奇数エッジでデータ変化、偶数エッジでデータサンプル

 

 

 

RSPCK極性

アイドル時のRSPCKLow

 

 

 

ビットレート

ベースのビットレートの8分周

 

 

 

SSLアサート信号

SSL0

 

 

 

SSLネゲート動作

転送終了時に全SSL信号をネゲート

 

 

 

RSPCK遅延

1RSPCK

 

 

 

SSLネゲート遅延

1RSPCK

 

 

 

次アクセス遅延

1RSPCK + 2CLK

 

 

 

 

[API設定例]

r_cg_main.c

/* Start user code for global. Do not edit comment generated here */

extern volatile uint32_t g_rspi0_tx_buf[4];

extern volatile uint32_t g_rspi0_rx_buf[4];

/* End user code. Do not edit comment generated here */

 

void main(void)

{

       R_MAIN_UserInit();

       /* Start user code. Do not edit comment generated here */

       /* Start the RSPI0 module operation */

       R_RSPI0_Start();

 

       /* Send and receive RSPI0 data */

       R_RSPI0_Send_Receive((uint32_t *)g_rspi0_tx_buf, 4U, (uint32_t *)g_rspi0_rx_buf);

 

       while (1U)

       {

              ;

       }

       /* End user code. Do not edit comment generated here */

}

 

r_cg_rspi_user.c

/* Start user code for global. Do not edit comment generated here */

volatile uint32_t g_rspi0_tx_buf[4];

volatile uint32_t g_rspi0_rx_buf[4];

/* End user code. Do not edit comment generated here */

 

void R_RSPI0_Create_UserInit(void)

{

       /* Start user code. Do not edit comment generated here */

       g_rspi0_tx_buf[0] = 0x000000FF;

       g_rspi0_tx_buf[1] = 0x0000FF00;

       g_rspi0_tx_buf[2] = 0x00FF0000;

       g_rspi0_tx_buf[3] = 0xFF000000;

       /* End user code. Do not edit comment generated here */

}

 

static void r_rspi0_callback_receiveend(void)

{

       /* Start user code. Do not edit comment generated here */

       /* Stop the RSPI0 module operation */

       R_RSPI0_Stop();

       /* End user code. Do not edit comment generated here */

}