Download (Programmer) AN - Renesas Electronics

Transcript
CHAPTER 4 UART COMMUNICATION MODE
4.13.5 Sample program
The following shows a sample program for Checksum command processing.
/****************************************************************/
/*
*/
/*
Get checksum command
*/
/*
*/
/****************************************************************/
/*
[i] u16 *sum
... pointer to checksum save area
*/
/*
[i] u32 top
... start address
*/
/*
[i] u32 bottom ... end address
*/
/*
[r] u16
... error code
*/
/****************************************************************/
u16
fl_ua_getsum(u16 *sum, u32 top, u32 bottom)
{
u16
rc;
/************************************************/
/*
set params
*/
/************************************************/
// set params
set_range_prm(fl_cmd_prm, top, bottom); // set SAH/SAM/SAL, EAH/EAM/EAL
/************************************************/
/*
send command
*/
/************************************************/
fl_wait(tCOM);
// wait before sending command
put_cmd_ua(FL_COM_GET_CHECK_SUM, 7, fl_cmd_prm); // send GET VERSION command
rc = get_sfrm_ua(fl_ua_sfrm, tWT16_MAX);
switch(rc) {
case
FLC_NO_ERR:
//
case
FLC_DFTO_ERR: return rc;
default:
return rc;
}
// get status frame
break; // continue
break; // case [C]
break; // case [B]
/************************************************/
/*
get data frame (Checksum data)
*/
/************************************************/
rc = get_dfrm_ua(fl_rxdata_frm, tFD1_MAX);
// get status frame
if (rc){
// if no error,
return rc;
// case [D]
}
*sum = (fl_rxdata_frm[OFS_STA_PLD] << 8) + fl_rxdata_frm[OFS_STA_PLD+1]; // set
SUM data
return rc;
// case [A]
}
98
Application Note U19735EJ1V0AN