If you are using a standard GPS receiver, you may want to disable all the messages except those that you need. (RMC and one more should be sufficient) and then there is no need of filtering
.
As you may know, USART interrupt shall be more critical than the GPS.
I have a simple solution all you have to do is to colect the data into buffer 's during inerrupt and process the data in the main loop - the main loop is mutch faster then any inerrupt
Another issue is the 24LC memory in which you want to store the GPS data ( I suppose you will process GGA sentence or its equivalent in the binary protocol). If you read the GPS fix data and write it to the memory every minute, you will perform a lot of writings in the memory. Check the datasheet of the memory's manufacturer, every such memory has a maximum number of write cycles. If you will write to it every minute, this means approx. 44.000 times every monts. With a memory which supports 100.000 write cycles, you will have a problem in less than three months.
haytham said:hello
You should know that the pic MC will not go to make other interrupt as long as the current interrupt is not finished yet
this is because when the interrupt occur - flag biit of a certain interrupt is set- the oic will go to the interrupt vector (0x004) and the GIE bit will be cleared.
Beacuse of that , no other interrupt can be handled as long as the procedure of the current interrupt is still processing but they could be sensed and their falg bit is affected
After the end of interrupt, we should exeute the "retfie" command which have 2 functions : first making a regular return second : re-enable the GIE bit
at this time if any other interrupt is pending, it will be handled according to the order of coding by which you asign the piorty for each interrupt.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?