Good comments Olin! I was just trying to get a raw form of the necessary processes. I totally agree on the limits, I'd use a FIFO. (WITH boundary checks.) Tom * | __O Thomas C. Sefranek tcs@cmcorp.com |_-\<,_ Amateur Radio Operator: WA1RHP (*)/ (*) Bicycle mobile on 145.41MHz PL74.4 ARRL Instructor, Technical Specialist, VE Contact. http://hamradio.cmcorp.com/inventory/Inventory.html http://www.harvardrepeater.org -----Original Message----- From: piclist-bounces@mit.edu [mailto:piclist-bounces@mit.edu] On Behalf Of Olin Lathrop Sent: Monday, June 05, 2006 1:03 PM To: Microcontroller discussion list - Public. Subject: Re: [PIC] C30 Linker Problem Thomas C. Sefranek wrote: > C:\NP\NeuroLogica\Analog\Software\ISRs.o(.text+0x2c): In function > `_U2RXInterrupt': > C:\NP\NeuroLogica\Analog\Software\ISRs.c:72: undefined reference to > DataRdyUART2' > C:\NP\NeuroLogica\Analog\Software\ISRs.o(.text+0x3c):C:\NP\NeuroLogica\Analo > g\Software\ISRs.c:74: undefined reference to `ReadUART2' What really surprises me here is that the undefined references don't have underscores prepended. The C30 compiler puts an underscore in front of globally known symbol names. This can be useful when mixing ASM30 and C30. You can define entry points for the same routine in ASM30, one without the underscore and one with. Each can follow the calling conventions for that language. So given all that, I don't understand why the missing external is "ReadUART2" and not "_ReadUART2". I know this doesn't answer your question, but it is probably a clue. Is it possible that the UART C runtime routines have their own library. I would look around for LIB files in the C30 directory. > IFS1bits.U2RXIF = 0; // Clear the UART2 RX IRQ Flag bit. > while(DataRdyUART2()) > { > ( *(Received_data)++) = ReadUART2(); > } > } Shouldn't you be doing some limit checking on the array bounds here? If it's a circular buffer, how about overrun checking? ****************************************************************** Embed Inc, Littleton Massachusetts, (978) 742-9014. #1 PIC consultant in 2004 program year. http://www.embedinc.com/products -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist