Say you wanted to write your own, more human-readable, version Microchip's C30 UART library. In a nutshell, #define TUartModeBits U1MODEBITS void DisableUart(TUartModeBits *ModeBits) { ModeBits->UARTEN = 0; } int main() { DisableUart(&U2MODEbits); // Disable UART #2 } The reason behind doing it this way, is to eliminate redundancy -- I don't like the idea of having DisableUart1 and DisableUart2. The code works, but MPLAB gives this warning: "warning: passing argument 1 of 'DisableUart' from incompatible pointer type" Is there a way to get rid of it? Any help is appreciated. Vitaliy -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist