/* - weather-sci.c - Olamide Adabonyan / Philip Lechowicz - o_mide@yahoo.com / phillech@aol.com */ /*-----------------------InChar---------------------------- Input one character from SCI terminal Inputs: none Outputs: ASCII character -----------------------------------------------------------*/ char InChar(void) { while ((SCSR & RDRF) == 0){}; return(SCDR); } /*-----------------------OutChar---------------------------- Output one character to SCI terminal Inputs: ASCII character Outputs: none -----------------------------------------------------------*/ void OutChar(char data) { while ((SCSR & TDRE) == 0); SCDR = data; } /*-------------------------InStatus------------------------- Checks if new input is ready, TRUE if new input is ready -----------------------------------------------------------*/ unsigned char InStatus(void) { return(SCSR & RDRF); } /*-----------------------OutStatus-------------------------- Checks if output data buffer is empty, TRUE if empty -----------------------------------------------------------*/ unsigned char OutStatus(void) { return(SCSR & TDRE); } /*-----------------------OutUDec---------------------------- Output a 16 bit number in unsigned decimal format Variable format 1 to 5 digits with no space before or after This function uses recursion to convert a decimal number of unspecified length as an ASCII string -----------------------------------------------------------*/ void OutUDec(unsigned int number) { if (number>=10) { OutUDec(number/10); OutUDec(number%10); } else OutChar(number+'0'); } /*------------------------Start of OutString--------------- Output String (NULL termination) -----------------------------------------------------------*/ void OutString(char *pt) { char letter; while (letter=*pt++) OutChar(letter); }