Hi Kas,
I am afraid that something missing there or that is a just misunderstanding.
I tested it on my TRK-S12ZVL board and everything works fine on my side.
I used a slightly simplified code with PS1 GPIO pin toggling for my reference.
My code:
void main(void) {
unsigned int i;
DDRS=0x02;
PTS_PTS1 = 0;//***********
TIM0TC1=0xFFFE;
TIM0TSCR1 |= 0x80; //Enable OC module
TIM0TIE = 0x00;
TIM0TTOV = 0x00;
TIM0TFLG1 = 0xFF;
TIM0TFLG2 = 0xFF;
PTS_PTS1 = 1;//***********
TIM0TIOS = 0x02; //Set channel 1 as OC
PTS_PTS1 = 0;//***********
TIM0TCTL2 = 0x0C; //Set pin output on next OC event
PTS_PTS1 = 1;//***********
TIM0OCPD &= ~0x02; //Enable the timer channel port for desired action
PTS_PTS1 = 0;//***********
TIM0CFORC = 0x02; //Force OC action on specified channel
PTS_PTS1 = 1;//***********
for(i = 0; i < 3; i++){
asm NOP; //Wait - just for waveform alignment
}
PTS_PTS1 = 0;//***********
TIM0TCTL2 = 0x04; //Clear pin output on next OC event
PTS_PTS1 = 1;//***********
TIM0OCPD = 0x00; //Enable the timer channel port for desired action
PTS_PTS1 = 0;//***********
TIM0CFORC = 0x02; //Force OC action on specified channel
PTS_PTS1 = 1;//***********
for(;;) {
} /* loop forever */
/* please make sure that you never leave main */
}
Result waveform:

Could you please specify your MCU derivative?
What is your TIM0TC1 value?
How did you detect that “the output pin change happens IMMEDIATELY”?
I suppose that you just debugging code step by step. Please be aware that TCNT is free running counter and it is not stopped during debugging. So, when you set TIM0TCTL2, the next OC event may happen very early – depends on TIM0TC1, TIM0TCNT and prescaler values. In my case after approximately 10ms (6.25MHz, prescaler=1 => OC event every 0.0104856 second).
I hope it helps you.
Have a great day,
Radek
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------