Mplab C30 Compiler Info
// ------------------------------------------------------------ // 3. ISR MACRO (fixes C30's verbose/error-prone vector syntax) // ------------------------------------------------------------ #define INTERRUPT(vector, priority) void ((interrupt, auto_psv)) _ ## vector (void)
This is a thoughtful request. The (for dsPIC30/33 and PIC24 families) is now legacy (superseded by XC16), but many engineers still maintain projects on it. mplab c30 compiler
INTERRUPT(_U1RXInterrupt, 6) while (U1STAbits.URXDA) c30_cbuf_put(&uart_rx, U1RXREG); priority) void ((interrupt
IFS0bits.U1RXIF = 0;
// ------------------------------------------------------------ // 1. SAFE BANKING MACROS (avoid manual BANKED/FAR typos) // ------------------------------------------------------------ #define BANKED_NEAR ((near)) // Accessible without PSV #define BANKED_FAR attribute ((far)) // Any RAM, slower access #define Y_DATA_SPACE attribute ((space(ymemory))) // For DSP #define AUTO_PSV attribute ((space(auto_psv))) // const in program memory 6) while (U1STAbits.URXDA) c30_cbuf_put(&uart_rx