
Designer Reference Manual
Passive Infrared (PIR) Unit
238
REMOTE Source Code Files
For More Information On This Product,
Go to: www.freescale.com
MOTOROLA
REMOTE Source Code Files
void StopBit( void )
{
RESET_SDA;
SetUpAndHoldTimingDelay();
SET_SCL;
SetUpAndHoldTimingDelay();
SET_SDA;
SetUpAndHoldTimingDelay();
} // StopBit()
//------------------------------------------------------------------------------
void SendI2CByte( unsigned char value )
{
unsigned char loop;
SET_DATA_TO_OUTPUT;
///////////////////////////////////
// clock is reset from start bit //
///////////////////////////////////
for ( loop = 0; loop < 8; loop++ )
{
value <<= 1; // load carry flag with bit7
if ( carry() ) SET_SDA;
else RESET_SDA;
//////////////////////////////////////////
OutClock(); // data is ready now generate the clock //
} //////////////////////////////////////////
} // SendI2CByte()
//------------------------------------------------------------------------------
unsigned char GetI2CByte( void)
{
unsigned char loop;
unsigned char receiving_value;
SET_DATA_TO_INPUT;
receiving_value = 0;
for ( loop = 0; loop < 8; loop++ )
{
receiving_value <<= 1; // shifting data left
if ( InClock() ) // get next bit sample, returns either 0 or 1
{
receiving_value |= 1; // setting bit0 if hi
}
}
return receiving_value;
} // GetI2CByte()
//------------------------------------------------------------------------------
F
Freescale Semiconductor, Inc.
n
.