Starting a project, need some advice and confirmation.

Through interrupts, in your case. In my opinions is the best way, as opposed to looping it!