kopia lustrzana https://github.com/OpenRTX/OpenRTX
Fixed USART ISR handler in MDx GPS driver to prevent it from exiting without clearing the interrupt flags when no thread is registered for wakeup (TG-271 #closed)
rodzic
379b487f64
commit
f286245f4f
|
@ -76,11 +76,14 @@ void __attribute__((used)) GpsUsartImpl()
|
|||
{
|
||||
status = (bufPos < maxPos) ? 0x01 : 0x02;
|
||||
|
||||
if(gpsWaiting == 0) return;
|
||||
gpsWaiting->IRQwakeup();
|
||||
if(gpsWaiting->IRQgetPriority()>Thread::IRQgetCurrentThread()->IRQgetPriority())
|
||||
Scheduler::IRQfindNextThread();
|
||||
gpsWaiting = 0;
|
||||
if(gpsWaiting)
|
||||
{
|
||||
gpsWaiting->IRQwakeup();
|
||||
if(gpsWaiting->IRQgetPriority()>
|
||||
Thread::IRQgetCurrentThread()->IRQgetPriority())
|
||||
Scheduler::IRQfindNextThread();
|
||||
gpsWaiting = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Ładowanie…
Reference in New Issue