/* Write one byte to 93LC46A in the specific address.  */
void eep_93LC46A_Write(const char data, char addr)
/* Write one byte to 93LC46A in the specific address.  */
void eep_93LC46A_Write(const char data, char addr)
{
	xGPIOPinWrite(_93LC46A_PIN_PORT, _93LC46A_PIN_SEL, 1);
	delay(DELAY_TIME_1);
	unsigned int op;
	if(addr != (char)-1)
		op = ((_93LC46A_Write | addr)<<8) | data;
	else
		op = (_93LC46A_WriteAll<<8) | data;
	int i;
	char byte;
	for(i=2; i>=0; i--)
	{
		byte = op>>(i*8) & 0xff;
		eep_93LC46A_WriteByte(byte);
	}
	xGPIOPinWrite(_93LC46A_PIN_PORT, _93LC46A_PIN_SEL, 0);
	delay(DELAY_TIME_1);
	eep_93LC46A_WaitForWriteEnd();
}