Technical information
SCI to SPI Peripheral Communication in V850ES Microcontrollers
CSI00_ReceiveData(rxbuf, 2); /* set up to receive two bytes */
CSI00_SendDone = MD_FALSE; /* set flag false - will be wset
true by INTCSI00 */
CSI00_SendData(txbuf, 2); /* transmit dummy data to start
transfer (number to receive) */
while (CSI00_SendDone == MD_FALSE)
; /* wait for CSI transfer done */
TEMP1_CS_OFF; /* deselect chip to allow conversion to start again
*/
/* received data is now in rxbuf 0 and 1, with high byte, MSB first, in
rxbuf[0] */
/* and low byte in rxbuf[1]; clear 3 LSB to zero */
retval = (rxbuf[0] << 8) | (rxbuf[1] & 0xF8);
return (retval);
#endif
}
/*
**---------------------------------------------------------------------------
--
** Abstract:
** Function to do Temperature Sensor 2 Read
**
** Parameters: None
** Returns:
** short (16-bit signed) temperature value * 128
**
**---------------------------------------------------------------------------
--
*/
short Temp_Read_2(void)
{
#if (TEMP_DEBUG == 1)
unsigned short usi;
unsigned long ul;
short si;
usi = ADCR; /* read the A/D converter: 0000 - FFC0 */
ul = usi;
ul = (ul * (205 * 128)); /* scale full range to (0 - 205) * 16 * 8
*/
ul = ul >> 16; /* scale to value plus 4 bits of
16th degrees plus 3 LSB */
ul = ul & 0xFFFFFFF8; /* mask 3 LSB to zero */
si = (short)ul; /* now as signed short number 0 -
205 */
si = si - (55 * 128); /* now signed short number -55 - 150 */
return (si);
#else
short retval;
49