(2) ScoBitSet
The library transfer destination address is set in the FTDAR register and the SCO bit of the FCCS register is set to 1. At
least four NOP instructions are required after the SCO bit setting.
To determine whether a transfer error occurs, 0xFF is programmed in the library transfer destination address before
transfer and 0x00 is checked after transfer.
/*
////////////////////////
// ScoBitSet Function //
////////////////////////
*/
BYTE ScoBitSet(void)
{
/* Transmission error check initialization */
*((volatile unsigned char *)TRANS_RAM_ADDR) = 0xFF;
FTDAR = FTDAR_VALUE;
FCCS |= 0x01; /* SCO interruption */
nop();
nop();
nop();
nop();
/* Transmission error check */
if(0x00 == *((volatile unsigned char *)TRANS_RAM_ADDR)) {
return(NORMAL); /* Transmission normal end */
}
return(ABNORMAL); /* Transmission error */
}
TRANS_RAM_ADDR and FTDAR_VALUE are defined in KDevice.h as follows:
/* SCO define */
#define TRANS_RAM_ADDR 0xFF8000
#define FTDAR_VALUE 0x03 /* RAMTOP+16Kb */
89
Comentarios a estos manuales