Darrel,
What I have is a timer1 servicing an interrupt every 10msec and a Usart RX interrupt when ever data comes in. Problem is that when the pic is off dealing with the usart interrupt, my timer1 is ignored until the usart interrupt is finished.
Do you have a low priority interrupt version for 14Bit pics? eg ReEnterPBP-14LP.bas
This could be the answer to my problem...
Squib
Last edited by Squibcakes; - 27th May 2010 at 02:02.
Nope.
The ability to have Low Priority interrupts depends on the hardware, and 14-bit cores don't have it.
I would suspect that you are using the RX interrupt to start reading a long string of bytes using HSERIN in the handler.
If so, then it's sitting in the handler doing nothing while waiting for data to come in.
For best speed, an RX interrupt should only retrieve 1 byte at a time, then exit the handler.
It only takes a few uS that way.
DT
I'm waiting for a string of NMEA chars to arrive into a huge data array.
I'm not quite sure how to code the above interrupt process into a [wait(" "),data] style command. This is what I am using at the moment when the RX_INT interrupt fires....
If I receive each byte and then do some byte checks to simulate the above syntax will the pic be fast enough to catch the sentance when it actually arrives or is the a better way?Code:WAIT_GLL: HSERIN 100,WAIT_GLL,[WAIT("GLL"), STR DATAIN\40\13]
Squib
Squib,
Sorry, I was trying to see if I could finish an NMEA sentence parser I've been toying with.
But there's too much left to do.
Are you only looking at the GLL sentence?
My RX_INT handler for it is double buffered, so it can work on one sentence while receiving another.
If it's only looking for the GLL sentence, it won't need the double buffer.
DT
Hi DT,
Is that in the current version of inst_ints or the one your working on now?
I got my progy working by using the @ INT_DISABLE RX_INT command in the handler but is that really kosha or just sloppy programming? ;-)
Yes I'm just looking for the one nea sentance at this time.
Bookmarks