I missed what language and compiler this is, but if it has an option to=20 expand macros so you can see them, that might help track if it has a=20 bogus value. Then you could have: #if (_UART1B_VECTOR =3D=3D BOGUS_VECTOR) // known defective define #warning _UART1B_VECTOR is bogus, redefining... #undef _UART1B_VECTOR #define _UART1B_VECTOR CORRECT_VECTOR // where CORRECT_VECTOR is a=20 constant #endif // BOGUS_VECTOR Careful, though, I've worked with compilers that don't handle=20 comparisons the same as others, that's why I like to use the #warning=20 directive; to tell me what the pre-processor is doing. Joe W Otherwise, like Jan-Erik says, re-define On 11/21/2011 5:00 PM, Jan-Erik Soderholm wrote: > I asked before and I might have missed the answer, but... > > Wat *is* the value of what ever is called the "Vector number" ? > According to the error messge it not in the 0-63 range at least. > > Is line 174 the line with "void __ISR()" below ? > (Maybe 174 is an error code and 1 is the line no, but anyway) > > It must/should be possible to look up the value of the symbol > in some include file and verify it, not ? > > Jan-Erik. > > > > Chris Roper wrote 2011-11-21 21:25: >> Just to be sure I renamed UART4 as UART1B in the line: >> >> void __ISR(_UART1B_VECTOR, ipl2) IntUart4Handler(void) >> >> and get the same error: >> >> uart_interrupt.c:174:1: error: Vector number must be an integer between = 0 and 63 --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .