使用例
4回のマスタ送信を行う
[GUI設定例]
I2Cバスインタフェース |
||||
RIIC2 |
使用する | |||
機能設定 |
I2C モード (マスタ) | |||
SCL2 |
P16 | |||
SDA2 |
P17 | |||
|
|
I2CMaster2 |
|
使用する |
|
|
|
ビットレート |
10 (kbps) |
|
|
|
ノイズフィルタを使用する |
使用する |
|
|
|
ノイズフィルタ段数選択 |
1段(1IICφ以下のノイズを除去) |
|
|
|
SDA出力遅延を使用する |
使用しない |
|
|
|
タイムアウト機能有効 |
使用しない |
|
|
|
マスタアービトレーションロスト検出許可 |
使用する |
|
|
|
NACK送信アービトレーションロスト検出許可 |
使用しない |
|
|
|
NACK受信転送中断許可 |
使用する |
TXI 優先順位 |
レベル15 | |||
|
|
|
RXI 優先順位 |
レベル15 |
TEI2 |
EEI2 優先順位 (グループBL1) (ICUの優先度設定をしてください) | |||
タイムアウト割り込み許可 (TMOI) |
使用しない | |||
アービトレーションロスト割り込み許可 (ALI) |
使用する | |||
スタートコンディション検出割り込み許可 (STI) |
使用する | |||
ストップコンディション検出割り込み許可 (SPI) |
使用する | |||
NACK受信割り込み許可 (NAKI) |
使用する | |||
送信完了 |
使用する | |||
|
|
|
受信完了 |
使用する |
|
|
|
エラー |
使用する |
割り込みコントローラ |
||||
ICU |
使用する | |||
|
|
Group |
|
使用する |
|
|
|
グループBL1 |
使用する |
グループBL1 優先順位 |
レベル15 |
[API設定例]
r_cg_main.c
/* Start user code for global. Do not edit comment generated here */
extern volatile uint8_t g_riic2_tx_buf[2];
/* 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 RIIC2 Bus Interface */
R_RIIC2_Start();
/* Send RIIC2 data to slave device */
R_RIIC2_Master_Send(0x00A0, (uint8_t *)g_riic2_tx_buf, 2U);
while (1U)
{
;
}
/* End user code. Do not edit comment generated here */
}
r_cg_riic_user.c
/* Start user code for global. Do not edit comment generated here */
volatile uint8_t g_riic2_tx_buf[2];
volatile uint8_t g_riic2_tx_cnt;
/* End user code. Do not edit comment generated here */
void R_RIIC2_Create_UserInit(void)
{
/* Start user code. Do not edit comment generated here */
g_riic2_tx_cnt = 0U;
g_riic2_tx_buf[0] = g_riic2_tx_cnt;
g_riic2_tx_buf[1] = 0x01;
/* End user code. Do not edit comment generated here */
}
static void r_riic2_callback_transmitend(void)
{
/* Start user code. Do not edit comment generated here */
if ((++g_riic2_tx_cnt) < 4U)
{
g_riic2_tx_buf[0] = g_riic2_tx_cnt;
g_riic2_tx_buf[1] += 0x01;
/* Send RIIC2 data to slave device */
R_RIIC2_Master_Send(0x00A0, (uint8_t *)g_riic2_tx_buf, 2U);
}
else
{
/* Stop the RIIC2 Bus Interface */
R_RIIC2_Stop();
}
/* End user code. Do not edit comment generated here */
}