This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Transmit UART on F320

I am reading in I2C protocol, which fills up a USB_TX_Buffer. I have that buffer in the watch window and can see the values I want filling it up, but when I to transmit it out on the UART TX pin on the F320 all I get is a steady Voltage high signal. The second bit of the code is the UART init. Anyone have any ideas?

	else if (TI0) // A TX is complete, handle TX states, inside UART interrupt
    {
      TI0 = 0; // Clear transmit flag
	  UART_TX_NDX = 0; // Reset index
	  init_UART();
	  SCON0 	  	= 0x00;

	  while (!FLAG_UART_TXDONE)
	  ////switch (NEXT_TX_STATE)
	  	{
	  		////case STATE_SEND:
		  	if (UART_TX_NDX < SMBus_UART0_RX_NDX)
		  	{
				SBUF0 = USB_TX_Buffer[UART_TX_NDX++];
			}
			if (UART_TX_NDX == SMBus_UART0_RX_NDX)
			{
				FLAG_UART_TXDONE = 1;
           	}
			////break;

			////default:
			////break;
		}

	}


void init_UART(void)
{
	TMOD      	|= 0x20;		// Timer 1 8-bitcounter/timer w auto-reload
    CKCON     	= 0x08;			// Timer 1 uses the system clock/1
    TH1     	= 0x30;			// Timer 1 Equation17.1 BaudRate for 57600 & 24Mhz
	////TL1			= 0x30;			// Low bytes of Timer 1
	TR1			= 1;			// Timer 1 on


	S0MODE		= 0;			// 8 bit UART with Variable Baud Rate
	RI0 		= 0;			// Recieve Flag (Clear by software)
	ES0			= 1;			// Enable UART interrupts
	SCON0 	  	|= 0x10;  		// Enable receive (REN0 is 1)
	////PS0			= 1;			// Set to high priority
}

0