I have the MC9S08PT60 processor (44pin), I am using all three SCI UART modules in my application, 2 work perfectly fine (SCI1 and SCI2). SCI0_RX works, but SCI0_TX just wont work.
I have SCI0 on PTA2/3 (44pin package, pins 33/32). I changed SYS_SOPT1 bit 7 to 1 (Confirmed with debugger so mapping is correct)
/* SYS_SOPT1: PTA3/PTA2 SCI0, BKGDPE=1,RSTPE=1,FWAKE=0,STOPE=0 */
clrSetReg8Bits(SYS_SOPT1, 0x03U, 0x8CU);
Using processor expert for a really simple test I set internal clock to 16Mhz, added SCI0, added SCI1, set both to 9600baud, modified SYS_STOP1 bit 7 to 1 as above, then added basic test code just to see TX data on each SCI module
setReg8(SCI0_C2, 0x0CU); //Enable TE / RE
setReg8(SCI1_C2, 0x0CU); //Enable TE / RE
if(SCI0_S1_TDRE) SCI0_D = 0x31; //Setup next byte to transmit on the comm port
if(SCI1_S1_TDRE) SCI1_D = 0x31; //Setup next byte to transmit on the comm port
Using my oscilliscope and measuring the bare board PIN with nothing attached (PIN32)
SCI1 I see data on the bare output PIN perfectly fine at 9600baud
SCI0 i see nothing ever on the data PIN.
Also, I set up RX interrupts to see if the RX interrupt fires and I get valid data, which i do, on both SCI0 and SCI1! I also use this code (with no real changes other than names on the AC128 and it works in production no problem)
If I turn the pin to and output it toggles on and off no problem, and RX input works, TX/RX work on the other SCI ports. I cant find anything else you have to do to get this TX module to work, im stuck! I can only imagine there is a problem with these chips, or, some documentation I cant find.