使用例

UART通信で4Byte受信後、受信したデータをそのまま送信し、通信を終了させる

 

[GUI設定例]

シリアル

使用する

SAU0

使用する

Channel0

チャネル0

UART0(送信/受信機能)

データ・ビット長設定 (受信機能)

8ビット

データ転送方向設定 (受信機能)

LSB

パリティ設定 (受信機能)

パリティなし

ストップ・ビット長設定 (受信機能)

1ビット固定です

受信データ・レベル設定

標準

転送レート設定 (受信機能)

9600(bps)(誤差:+0.16% 許容最小:-5.17% 許容最大:+5.16%)

受信完了割り込み設定(INTSR0)

受信完了 (コールバック機能設定)

使用する

エラー (コールバック機能設定)

使用する

転送モード設定

単発モード

データ・ビット長設定 (送信機能)

8ビット

データ転送方向設定 (送信機能)

LSB

パリティ設定 (送信機能)

パリティなし

ストップ・ビット長設定 (送信機能)

1ビット

送信データ・レベル設定

標準

転送レート設定 (送信機能)

9600(bps)(誤差:+0.16%)

送信完了割り込み設定(INTST0)

送信完了 (コールバック機能設定)

使用する

 

 

[API設定例]

r_main.c

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

extern volatile uint8_t g_uart0_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 UART0 module operation */

       R_UART0_Start();

 

       /* Receive UART0 data */

       R_UART0_Receive((uint8_t *)g_uart0_buf, 4U);

 

       while (1U)

       {

              ;

       }

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

}

 

r_cg_serial_user.c

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

volatile uint8_t g_uart0_buf[4];

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

 

static void r_uart0_callback_receiveend(void)

{

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

       /* Send UART0 data */

       R_UART0_Send((uint8_t *)g_uart0_buf, 4U);

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

}

 

static void r_uart0_callback_sendend(void)

{

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

       /* Stop the UART0 module operation */

       R_UART0_Stop();

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

}