Once you define an ISR bit in the TIMSKx, the appropriate ISR must be attached.
Lost almost a day on non functioning serial port, until stumbled upon the post in stackoverflow.com
So, when copypasting
TIMSK1 |= (1 << TOIE1) | (1 << OCIE1A);
be sure to define both
ISR(TIMER1_OVF_vect) {
...
}
and
ISR (TIMER1_COMPA_vect)
{
...
}