AnsweredAssumed Answered

MC9S08PT60 SCI0 on PTA3 PTA4 TX PIN wont work

Question asked by Carl Norman on Feb 15, 2016
Latest reply on Feb 16, 2016 by Carl Norman

Hi Guys,

 

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

  while(1)

  {

       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.

Outcomes