
void RS232_Write(unsigned char reg, unsigned char dat0, unsigned char dat1)
{

unsigned char REG_H, REG_L, DAT1_H, DAT1_L, DAT2_H, DAT2_L, CHECKSUM_H,  CHECKSUM_L, CHECKSUM_T ;

REG_H  = (reg  & 0xF0);
REG_L  = (reg  & 0x0F );
DAT1_H = (dat0 & 0xF0 );
DAT1_L = (dat0 & 0x0F );
DAT2_H = (dat1 & 0xF0 );
DAT2_L = (dat1 & 0x0F );

CHECKSUM_T = (cam_header + cam_ID_H+ cam_ID_L + REG_H + REG_L + DAT1_H + DAT1_L + DAT2_H + DAT2_L);

CHECKSUM_H = (CHECKSUM_T & 0xF0);
CHECKSUM_L = (CHECKSUM_T & 0x0F);

//***********************************************************************
uart_init();
uart_transmit(cam_header); 	Wait(2); 	//header
uart_transmit(cam_ID_H); 	Wait(2); 	//ID H
uart_transmit(cam_ID_L); 	Wait(2); 	//ID L
uart_transmit('B');             Wait(2); <<<<<<<<WORKS AS IT SHOULD
uart_transmit(REG_L); 		Wait(2); 	//Register L
uart_transmit(DAT1_H); 		Wait(2);	//Data 1 H
uart_transmit(DAT1_L); 		Wait(2);	//Data 1 L
uart_transmit(DAT2_H); 		Wait(2);	//Data 2 H
uart_transmit(DAT2_L); 		Wait(2);	//Data 2 L
uart_transmit(CHECKSUM_H); 	Wait(2);	// Send calculated checksum 1
uart_transmit(CHECKSUM_L); 			// Send calculated checksum 2
//***********************************************************************
}

