Machine-translated by Google. Questions are authored in English.
Top

Discussion

Passing data from an interrupt handler to a task is best done with

  • A.a queue written from the handler with a zero timeout
  • B.a mutex taken by the handler and given to the task
  • C.a global variable the task polls in a loop
  • D.a recursive mutex shared by handler and task

Answer: A

Correct answer: a queue written from the handler with a zero timeout

A queue carries the data as well as the signal, and the from-interrupt variant with zero timeout never blocks - which is essential, since a handler that blocks cannot be resumed. A mutex must not be taken in a handler at all, and polling a global variable adds latency and race conditions.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.