Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Interrupt handling at the same time 8051

Status
Not open for further replies.

gandalf_be

Junior Member level 1
Joined
Jun 12, 2003
Messages
15
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
193
Hello ,

Perhaps a stupid question but i wonder if there are 8051 microcontrollers available that can handle two external interrupts, with the same priority ,at the same time ?

This means that if two external interrupts are triggered , the software can handle two different ISRs at the same time .

Regards,

Gandalf
 

Not, when two request of the same priority are received simultaneously, an internal polling sequence determines which request is serviced. ISR execution proceeds until the RETI instruction is encountered. Execution continues from where the program was interrupted, then after at least one other instruction (after RETI) has been executed, the second interrupt can be serviced.
 

Hello ,

I know that is the case with the standard microcontrollers but i m wondering if it is possible with more advanced microcontrollers/microprocessors.

I can imagine that in a real time application you can come in situations where two interrupts must be handeld at the same time.


Gandalf
 

Is hard to follow you ..

Microprocessors are sequential machines .. only very advanced architectectures execute difrentent instructions in the same cycle. but that
is only possible with compiler prediction and data analisis..Even those
machines respond to interrupts in a single thread

The way to treat multiples events ocurring at the same time is not
in the INTERRUPT ROUTINE .. .But in a function that can be called
by a message sent by the service interrupt ..
So is equivalent to always affect a different priority to a different
source of interrupt .. and if both interrupts are called at the same time ..The one with the higher priority is processed first .So what we want to do is just send a notice to some bigger routine and get out that interrupt
service routine .Then we service the other interrupt and send another message to some arbitrer routine that will determine who needs atention first ..

IF REALLY you need attention at the same time to two tasks ..I THINK that
you MEAN TWO CPUS .. THATS THE KIND OF PARALLELISM that you WANT!

PS : Don't SMOKE TOO MUCH that STUFF!
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top