Download Print this page

Renesas Asynchronous SH7145F Application Note page 16

Asynchronous serial data transmission/reception

Advertisement

P_SCI1.SSR_1.BIT.RDRF = 0;
trans_sci(Rev_data[rev_count]);
rev_count++ ;
return(rev_count);
}
/************************************************************************/
/*
Function
/*
Operation
/*
Argument
/*
Value returned : None
/************************************************************************/
void trans_sci(char tarans_data) {
while(!(P_SCI1.SSR_1.BYTE & 0x80)){ /* Wait until data can be written to TDR */
;
}
P_SCI1.TDR_1 = (unsigned char)trans_data;
P_SCI1.SSR_1.BYTE &= 0x7F;
}
/**************************************
Interrupt handling
**************************************/
#pragma interrupt(err_int)
void err_int(void)
{
if(P_SCI1.SSR_1.BIT.ORER == 1){
P_SCI1.SSR_1.BIT.ORER = 0;
}
if(P_SCI1.SSR_1.BIT.FER == 1){
P_SCI1.SSR_1.BIT.FER = 0;
}
if(P_SCI1.SSR_1.BIT.PER == 1){
P_SCI1.SSR_1.BIT.PER = 0;
}
}
#pragma interrupt(dummy_f)
void dummy_f(void)
{
/*
Other Interrupt
}
REJ06B0357-0100O/Rev.1.00
Asynchronous Serial Data Transmission/Reception
: trans_sci
: Write 1 character to serial output
: trans_data
*/
/* Clear RDRF
/* Transmit receive data
/* Increment storage address
/* (until TDRE is set to 1)
/* Write data to TDR
/* Clear flag, transmit
/* Overrun error
/* ORER flag clear
/* Framing error
/* FER flag clear
/* Parity error
/* PER flag clear
March 2004
SH7145F
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
*/
Page 16 of 17

Advertisement

loading