プロジェクト名 test

インターバルタイマを使いLEDの点灯を繰り返している。

0のとき点灯、1のとき消灯。

メインプログラム

/***********************************************************************************************************************
Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_cgc.h"
#include "r_cg_port.h"
#include "r_cg_timer.h"
/* Start user code for include. Do not edit comment generated here */
int i = 0;
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"

/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
/* Start user code for pragma. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/* Start user code for global. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
void R_MAIN_UserInit(void);

/***********************************************************************************************************************
* Function Name: main
* Description  : This function implements main function.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/

void main(void)
{
    R_MAIN_UserInit();
    /* Start user code. Do not edit comment generated here */
    R_TAU0_Channel0_Start();
    while (1U)
    {
	if(i <= 1){
		i++;
	}else{
		i = 0;
	}
	}
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: R_MAIN_UserInit
* Description  : This function adds user code before implementing main function.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
void R_MAIN_UserInit(void)
{
    /* Start user code. Do not edit comment generated here */
   
    EI();
    /* End user code. Do not edit comment generated here */
}

タイマー割り込みプログラム

Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_timer.h"
/* Start user code for include. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"

/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
#pragma interrupt r_tau0_channel0_interrupt(vect=INTTM00)
#pragma interrupt r_tau0_channel2_interrupt(vect=INTTM02)
/* Start user code for pragma. Do not edit comment generated here */
extern int i;
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/* Start user code for global. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
* Function Name: r_tau0_channel0_interrupt
* Description  : This function is INTTM00 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel0_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
    if(i <= 0){
        P6_bit.no2 = 1;
    }else if(i == 2){
	P6_bit.no2 = 0;
    }
    /* End user code. Do not edit comment generated here */
}

プロジェクト名 test_2

1.RL78のPWM出力タイマを使い、パルスを出力する。 2.パルスの出力を7セグメントLEDの表示に合わせて出力周波数を1KHz変えていく。 7セグ '9' 表示時 = 出力周波数 '10' KHz 7セグ '8' 表示時 = 出力周波数 '9' KHz 7セグ '7' 表示時 = 出力周波数 '8' KHz 7セグ '6' 表示時 = 出力周波数 '7' KHz 7セグ '5' 表示時 = 出力周波数 '6' KHz 7セグ '4' 表示時 = 出力周波数 '5' KHz 7セグ '3' 表示時 = 出力周波数 '4' KHz 7セグ '2' 表示時 = 出力周波数 '3' KHz 7セグ '1' 表示時 = 出力周波数 '2' KHz 7セグ '0' 表示時 = 出力周波数 '1' KHz 3.ターゲットに接続したメカニカルスイッチを使い、7セグメントLEDの表示を1づつ上下する。

メインプログラム


Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_cgc.h"
#include "r_cg_port.h"
#include "r_cg_timer.h"
/* Start user code for include. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"

/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
/* Start user code for pragma. Do not edit comment generated here */

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

/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/* Start user code for global. Do not edit comment generated here */
unsigned int count = 10;
unsigned int sw = 9;
int swflag = 0;
long w;
int t = 0;
unsigned int timerflag = 0;
void seg(void);
/* End user code. Do not edit comment generated here */
void R_MAIN_UserInit(void);
/***********************************************************************************************************************
* Function Name: main
* Description  : This function implements main function.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
void main(void)
{
    R_MAIN_UserInit();
    /* Start user code. Do not edit comment generated here */
    R_TAU0_Channel0_Start();
    R_TAU0_Channel2_Start();
    while (1U)
    {
    seg();	
	if(swflag == 1){
		if(sw < 9 && sw >= 0){
		    sw++;
		}
		    swflag = 0;
        }else if(swflag == 2){
		if(sw < 10 && sw > 0){
		    sw--;
		}
		    swflag = 0;
    }
	
	if(timerflag == 2){
		timerflag = 0;
	}
		
    }
}
    /* End user code. Do not edit comment generated here */
/***********************************************************************************************************************
* Function Name: R_MAIN_UserInit
* Description  : This function adds user code before implementing main function.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
void R_MAIN_UserInit(void)
{
    /* Start user code. Do not edit comment generated here */
    EI();
    /* End user code. Do not edit comment generated here */
}

/* Start user code for adding. Do not edit comment generated here */
void seg(void){
	switch(sw){
		
		case 9:
			P2_bit.no2 = 1;
			P2_bit.no3 = 0;
			P2_bit.no4 = 0;
			P2_bit.no5 = 1;
			break;
		case 8:	
			P2_bit.no2 = 1;
			P2_bit.no3 = 0;
			P2_bit.no4 = 0;
			P2_bit.no5 = 0;
			break;
		case 7:
			P2_bit.no2 = 0;
			P2_bit.no3 = 1;
			P2_bit.no4 = 1;
			P2_bit.no5 = 1;
			break;
		case 6:
			P2_bit.no2 = 0;
			P2_bit.no3 = 1;
			P2_bit.no4 = 1;
			P2_bit.no5 = 0;
			break;
		case 5:
			P2_bit.no2 = 0;
			P2_bit.no3 = 1;
			P2_bit.no4 = 0;
			P2_bit.no5 = 1;
			break;
		case 4:
			P2_bit.no2 = 0;
			P2_bit.no3 = 1;
			P2_bit.no4 = 0;
			P2_bit.no5 = 0;
			break;
		case 3:
			P2_bit.no2 = 0;
			P2_bit.no3 = 0;
			P2_bit.no4 = 1;
			P2_bit.no5 = 1;
			break;
		case 2:
			P2_bit.no2 = 0;
			P2_bit.no3 = 0;
			P2_bit.no4 = 1;
			P2_bit.no5 = 0;
			break;
		case 1:
			P2_bit.no2 = 0;
			P2_bit.no3 = 0;
			P2_bit.no4 = 0;
			P2_bit.no5 = 1;
			break;
		case 0:
			P2_bit.no2 = 0;
			P2_bit.no3 = 0;
			P2_bit.no4 = 0;
			P2_bit.no5 = 0;
			break;
		default:
			swflag = 0;
			break;
	}
}




タイマー割り込みプログラム


Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_timer.h"
/* Start user code for include. Do not edit comment generated here */
int now = 0;
int now2 = 0;
int old = 0;
int old2 = 0;
int swc = 0;
int swc2 = 0;
extern int swflag;
extern unsigned int count;
extern unsigned int timerflag;
extern unsigned int sw;
extern int t;
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"

/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
#pragma interrupt r_tau0_channel0_interrupt(vect=INTTM00)
#pragma interrupt r_tau0_channel1_interrupt(vect=INTTM01)
#pragma interrupt r_tau0_channel2_interrupt(vect=INTTM02)
/* Start user code for pragma. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/* Start user code for global. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
* Function Name: r_tau0_channel0_interrupt
* Description  : This function is INTTM00 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel0_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
       	if(count < 1){
		if(timerflag < 2){
		
		switch(sw){
		
		case 9:
			t = 10;
			break;
		case 8:	
			t = 11;
			break;
		case 7:
			t = 13;
			break;
		case 6:
			t = 14;
			break;
		case 5:
			t = 17;
			break;
		case 4:
			t = 20;
			break;
		case 3:
			t = 25;
			break;
		case 2:
			t = 30;
			break;
		case 1:
			t = 50;
			break;
		case 0:
			t = 100;
			break;
		default:
			break;
			}
		count = t;
		timerflag++;
		if(timerflag < 2){
			P6_bit.no3 = 0;
		}else{
			P6_bit.no3 = 1;
	
		  
	}
	}
	}
	count--;
    
		
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_tau0_channel1_interrupt
* Description  : This function is INTTM01 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel1_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
 
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_tau0_channel2_interrupt
* Description  : This function is INTTM02 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel2_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
   if(P5_bit.no5){
    	now == P5_bit.no2;
    	if(now != P5_bit.no2){
	    now == P5_bit.no2;
	    if(now != P5_bit.no2){
    		if(now == old){	
			if(swc < 40){
				swc++;
				old = now;
			}else{
				swflag = 1;
				swc = 0;
			}
    		}
    	}
    }
   	now2 == P5_bit.no3;
   	if(now2 != P5_bit.no3){
	   now2 == P5_bit.no3;
	   if(now2 != P5_bit.no3){
   		if(now2 == old){
			if(swc2 < 40){	
				swc2++;
				old2 = now2;
			}else{
				swflag = 2;
				swc2 = 0;
			}
		}
   		}	
   	}
   }	








プロジェクト名 test_serial1


test_2の内容に加え以下の機能を追加 パソコン側はteratermを使用 1.電源をONするとオープニングメッセージを表示 2.パソコン側から's'コマンドを入力。"OK"を表示し、パルススタート。すでに出力されている場合は"NG"を  表示する。 3.パソコン側から'e'コマンドを入力。"PULSE END"を表示し、パルス出力ストップ。出力されていない場合は  "NG"を表示する。 4.パソコン側から'u'コマンドを入力。7セグメントLEDの数字をカウントアップする。 5.パソコン側から'd'コマンドを入力。7セグメントLEDの数字をカウントダウンする。 6.パソコン側から'm'コマンドを入力。その後、エンターキーを押すと"INPUT NUMBER1~9"と表示される。  その後、1~9の数字を入力すると、7セグメントLEDに入力した数字を表示する。




メインプログラム




Includes ***********************************************************************************************************************/ #include "r_cg_macrodriver.h" #include "r_cg_cgc.h" #include "r_cg_port.h" #include "r_cg_serial.h" #include "r_cg_timer.h" /* Start user code for include. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */ #include "r_cg_userdefine.h" /*********************************************************************************************************************** Pragma directive ***********************************************************************************************************************/ /* Start user code for pragma. Do not edit comment generated here */ /* End user code. Do not edit comment generated here */ /*********************************************************************************************************************** Global variables and functions ***********************************************************************************************************************/ /* Start user code for global. Do not edit comment generated here */ int swflag = 0; //スイッチ判定変数 int t = 0; int stup = 1; int c = 0; unsigned int timerflag = 0; //パルス1、パルス2周期調整変数 unsigned int count = 0; //周期調整関数 unsigned int sw = 9; //7セグ表示変数 extern volatile uint8_t g_rx_buff[16]; //受信用バッファ extern volatile uint8_t g_tx_buff[16]; //送信用バッファ extern volatile uint8_t Send_data; //送信データ格納 extern volatile signed char Pulse_flag_Start; //パルス判定フラグ extern volatile signed char Pulse_flag_End; //パルスストップ判定フラグ void seg(void); //メカニカルスイッチ7セグ操作関数 void P_Start(void); //パルス発生関数 void P_End(void); //パルス終了関数 void Data_Print(char *); //メッセージ送信用関数 /* End user code. Do not edit comment generated here */ void R_MAIN_UserInit(void); /*********************************************************************************************************************** * Function Name: main * Description : This function implements main function. * Arguments : None * Return Value : None ***********************************************************************************************************************/ void main(void) { R_MAIN_UserInit(); /* Start user code. Do not edit comment generated here */ R_TAU0_Channel0_Start(); R_TAU0_Channel2_Start(); while (1U) { if(P5_bit.no5){ if(stup){ Data_Print("Hello World"); Data_Print("\r\n"); stup = 0; } }else{ stup = 1; } seg(); if(swflag == 1){ sw++; swflag = 0; }else if(swflag == 2){ sw--; swflag = 0; } if(timerflag == 2){ timerflag = 0; } } /* End user code. Do not edit comment generated here */ } /*********************************************************************************************************************** * Function Name: R_MAIN_UserInit * Description : This function adds user code before implementing main function. * Arguments : None * Return Value : None ***********************************************************************************************************************/ void R_MAIN_UserInit(void) { /* Start user code. Do not edit comment generated here */ R_UART0_Start(); R_UART0_Receive((uint8_t *)g_rx_buff[0],0x01); EI(); /* End user code. Do not edit comment generated here */ } /* Start user code for adding. Do not edit comment generated here */ void seg(void){ switch(sw){ case 9: P2_bit.no2 = 1; P2_bit.no3 = 0; P2_bit.no4 = 0; P2_bit.no5 = 1; break; case 8: P2_bit.no2 = 1; P2_bit.no3 = 0; P2_bit.no4 = 0; P2_bit.no5 = 0; break; case 7: P2_bit.no2 = 0; P2_bit.no3 = 1; P2_bit.no4 = 1; P2_bit.no5 = 1; break; case 6: P2_bit.no2 = 0; P2_bit.no3 = 1; P2_bit.no4 = 1; P2_bit.no5 = 0; break; case 5: P2_bit.no2 = 0; P2_bit.no3 = 1; P2_bit.no4 = 0; P2_bit.no5 = 1; break; case 4: P2_bit.no2 = 0; P2_bit.no3 = 1; P2_bit.no4 = 0; P2_bit.no5 = 0; break; case 3: P2_bit.no2 = 0; P2_bit.no3 = 0; P2_bit.no4 = 1; P2_bit.no5 = 1; break; case 2: P2_bit.no2 = 0; P2_bit.no3 = 0; P2_bit.no4 = 1; P2_bit.no5 = 0; break; case 1: P2_bit.no2 = 0; P2_bit.no3 = 0; P2_bit.no4 = 0; P2_bit.no5 = 1; break; case 0: P2_bit.no2 = 0; P2_bit.no3 = 0; P2_bit.no4 = 0; P2_bit.no5 = 0; break; default: swflag = 0; break; } } /* パルス発生関数 */ void P_Start(void){ if(timerflag < 2){ P6_bit.no3 = 0; //P6_bit.no2 = 1; }else{ P6_bit.no3 = 1; //P6_bit.no2 = 0; } Pulse_flag_Start = 1; Pulse_flag_End = 0; } /* */ /* パルス終了関数 */ void P_End(void){ P6_bit.no3 = 1; P6_bit.no2 = 1; Pulse_flag_Start = 0; Pulse_flag_End = 1; } /* */ /* メッセージ送信関数 */ void Data_Print(char *str){ signed char i = 0; while(*str != '\0'){ while(SSR00 & 0x0020U){ NOP(); } g_tx_buff[i] = *str; ; TXD0 = g_tx_buff[i]; str++; i++; } }


タイマー割り込み部分



Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_timer.h"
/* Start user code for include. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"

/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
#pragma interrupt r_tau0_channel0_interrupt(vect=INTTM00)
#pragma interrupt r_tau0_channel1_interrupt(vect=INTTM01)
#pragma interrupt r_tau0_channel2_interrupt(vect=INTTM02)
/* Start user code for pragma. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
/* Start user code for global. Do not edit comment generated here */
volatile int now;
volatile int old;
volatile int now2;
volatile int old2;
volatile int swc;
volatile int swc2;
extern int swflag;		
extern int t;
extern volatile signed char Pulse_flag_End;
extern unsigned int timerflag;
extern unsigned int count;
extern volatile unsigned int sw; 
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
* Function Name: r_tau0_channel0_interrupt
* Description  : This function is INTTM00 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel0_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
           	if(count < 1){
		if(timerflag < 2){
		
		switch(sw){
		
		case 9:
			t = 10;
			break;
		case 8:	
			t = 11;
			break;
		case 7:
			t = 13;
			break;
		case 6:
			t = 14;
			break;
		case 5:
			t = 17;
			break;
		case 4:
			t = 20;
			break;
		case 3:
			t = 25;
			break;
		case 2:
			t = 30;
			break;
		case 1:
			t = 50;
			break;
		case 0:
			t = 100;
			break;
		default:
			break;
			}
		count = t;
		timerflag++;
		if(Pulse_flag_End == 0){
		if(timerflag < 2){
			P6_bit.no3 = 0;
			P6_bit.no2 = 1;
		}else{
			P6_bit.no3 = 1;
			P6_bit.no2 = 0;
		}
		}
	}
	}
	count--;
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_tau0_channel1_interrupt
* Description  : This function is INTTM01 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel1_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_tau0_channel2_interrupt
* Description  : This function is INTTM02 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_tau0_channel2_interrupt(void)
{
    /* Start user code. Do not edit comment generated here */
       if(P5_bit.no5){
    	now == P5_bit.no2;
    	if(now != P5_bit.no2){
	    now == P5_bit.no2;
	    if(now != P5_bit.no2){
    		if(now == old){	
			if(swc < 40){
				swc++;
				old = now;
			}else{
				swflag = 1;
				swc = 0;
			}
    		}
    	}
    }
   	now2 == P5_bit.no3;
   	if(now2 != P5_bit.no3){
	   now2 == P5_bit.no3;
	   if(now2 != P5_bit.no3){
   		if(now2 == old){
			if(swc2 < 40){	
				swc2++;
				old2 = now2;
			}else{
				swflag = 2;
				swc2 = 0;
			}
		}
   		}	
   	}
   }	
    /* End user code. Do not edit comment generated here */
}


シリアル割り込みプログラム



Includes
***********************************************************************************************************************/
#include "r_cg_macrodriver.h"
#include "r_cg_serial.h"
/* Start user code for include. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */
#include "r_cg_userdefine.h"

/***********************************************************************************************************************
Pragma directive
***********************************************************************************************************************/
#pragma interrupt r_uart0_interrupt_send(vect=INTST0)
#pragma interrupt r_uart0_interrupt_receive(vect=INTSR0)
/* Start user code for pragma. Do not edit comment generated here */
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
Global variables and functions
***********************************************************************************************************************/
extern volatile uint8_t * gp_uart0_tx_address;         /* uart0 send buffer address */
extern volatile uint16_t  g_uart0_tx_count;            /* uart0 send data number */
extern volatile uint8_t * gp_uart0_rx_address;         /* uart0 receive buffer address */
extern volatile uint16_t  g_uart0_rx_count;            /* uart0 receive data number */
extern volatile uint16_t  g_uart0_rx_length;           /* uart0 receive data length */
/* Start user code for global. Do not edit comment generated here */
//extern volatile uint8_t work;
volatile uint8_t receive_data;			//��M�f�[�^�i�[
volatile void receive_command(uint8_t);		//�R�}���h��͊֐�
volatile signed char Pulse_flag_Start = 0;	//�p���X�X�^�[�g����t���O
volatile signed char Pulse_flag_End = 0;	//�p���X�X�g�b�v����t���O
volatile uint8_t g_rx_buff[16];			//��M�p�o�b�t�@
volatile uint8_t g_tx_buff[16]; 		//���M�p�o�b�t�@
volatile signed char fiover = 1;
extern volatile unsigned int sw;
extern void P_Start(void);			//���C���v���O�����p���X�����p�֐�
extern void P_End(void);			//���C���v���O�����p���X�I��
extern void Data_Print(char *);
/* End user code. Do not edit comment generated here */

/***********************************************************************************************************************
* Function Name: r_uart0_interrupt_receive
* Description  : This function is INTSR0 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_uart0_interrupt_receive(void)
{
    volatile uint8_t rx_data;
    volatile uint8_t err_type;
    
    err_type = (uint8_t)(SSR01 & 0x0007U);
    SIR01 = (uint16_t)err_type;

    if (err_type != 0U)
    {
        r_uart0_callback_error(err_type);
    }
    	
    	rx_data = RXD0;
        g_rx_buff[0] = RXD0; 

    if (g_uart0_rx_length > g_uart0_rx_count)
    {
        *gp_uart0_rx_address = rx_data;
        gp_uart0_rx_address++;
        g_uart0_rx_count++;

        if (g_uart0_rx_length == g_uart0_rx_count)
        {
            r_uart0_callback_receiveend();
        }
    }
    else
    {
        r_uart0_callback_softwareoverrun(rx_data);
    }
}

/***********************************************************************************************************************
* Function Name: r_uart0_interrupt_send
* Description  : This function is INTST0 interrupt service routine.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void __near r_uart0_interrupt_send(void)
{
    if (g_uart0_tx_count > 0U)
    {
        TXD0 = *gp_uart0_tx_address;
        gp_uart0_tx_address++;
        g_uart0_tx_count--;
    }
    else
    {
        r_uart0_callback_sendend();
    }
}

/***********************************************************************************************************************
* Function Name: r_uart0_callback_receiveend
* Description  : This function is a callback function when UART0 finishes reception.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void r_uart0_callback_receiveend(void)
{
    /* Start user code. Do not edit comment generated here */
    R_UART0_Receive((uint8_t *)g_rx_buff,0x01);
    receive_data = g_rx_buff[0];
    receive_command(receive_data);
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_uart0_callback_softwareoverrun
* Description  : This function is a callback function when UART0 receives an overflow data.
* Arguments    : rx_data -
*                    receive data
* Return Value : None
***********************************************************************************************************************/
static void r_uart0_callback_softwareoverrun(uint16_t rx_data)
{
    /* Start user code. Do not edit comment generated here */
   if(fiover){
	    fiover = 0;
	    r_uart0_callback_receiveend();
    }else{
	    Data_Print("Over Error");
    }
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_uart0_callback_sendend
* Description  : This function is a callback function when UART0 finishes transmission.
* Arguments    : None
* Return Value : None
***********************************************************************************************************************/
static void r_uart0_callback_sendend(void)
{
    /* Start user code. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */
}

/***********************************************************************************************************************
* Function Name: r_uart0_callback_error
* Description  : This function is a callback function when UART0 reception error occurs.
* Arguments    : err_type -
*                    error type value
* Return Value : None
***********************************************************************************************************************/
static void r_uart0_callback_error(uint8_t err_type)
{
    /* Start user code. Do not edit comment generated here */
    /* End user code. Do not edit comment generated here */
}

/* Start user code for adding. Do not edit comment generated here */
volatile void receive_command(uint8_t a){
	
	volatile uint8_t b = 0x00;
	
	if(a == 0x53 || a ==0x73){
		if(Pulse_flag_Start == 0){
			P_Start();
			Data_Print("OK");
			Data_Print("\r\n");
		}else{
			Data_Print("NG");
			Data_Print("\r\n");
		}
	}else if(a == 0x65){
		if(Pulse_flag_End == 0){
		P_End();
		Data_Print("PULSE END");
		Data_Print("\r\n");
		}else{
			Data_Print("NG");
			Data_Print("\r\n");
		}
	}else if(a == 0x75){
		if(sw >= 0 && sw < 9){
			sw++;
		}
	}else if(a == 0x64){
		if(sw > 0 && sw < 11){
			sw--;
		}
	}else if(a == 0x6d){
		while(b != 0x0d){
			b = RXD0;
		}
		b = 0x00;
		Data_Print("INPUT_NUMBER1~9");
		Data_Print("\r\n");
		while(b < 0x30 || b > 0x40){	
			b = RXD0;
		}
		b -= 0x30;
		sw = b;
	}
}





以上です。