actually i'm kinda lost as to how to get it to work at all. it gets hung up on the while loop
Code:
#ifdef ENABLE_SERIAL_PORT_TWO_TX
void Write_Serial_Port_Two(unsigned char byte)
{
// if the queue is full, wait here until space is available
while(Tx_2_Queue_Full); //<------it hangs here
// put the byte on the circular queue
Tx_2_Queue[Tx_2_Queue_Write_Index] = byte;
// increment the queue byte count
Tx_2_Queue_Byte_Count++;
// increment the write pointer
Tx_2_Queue_Write_Index++;
// If the index pointer overflowed, cut-off the high-order bit. Doing this
// every time is quicker than checking for overflow every time with an if()
// statement and only then occasionally setting it back to zero. For this
// to work, the queue size must be a power of 2 (e.g., 16,32,64,128...).
Tx_2_Queue_Write_Index &= TX_2_QUEUE_INDEX_MASK;
i personally don't understand how it got there in the first place as the only call to write serial port is in the put_c function and i never called that nor did i see it get called in the tx_interrupt handler
any clarifications would be wonderful
Thanks