I have a small project where I set up a timer interrupt to check the state of few buttons. Do I need to set up 1 timer per button or can I check 2 or 3 with 1 timer?
You can use systick timer and a function(s) that at each systick interrupt increments a variable and compares with set time. Then it outputs a state.
Also you could make array of timers, that are processed at each systick interrupt.