[avr] link the RS485 driver/receiver enable line to TXCIE0
This commit is contained in:
parent
346e22a0ae
commit
90b129a67a
|
@ -238,7 +238,7 @@ u08 uartSendBuffer(char *buffer, u16 nBytes)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
// UART Transmit Complete Interrupt Handler
|
// UART Data Register Empty Interrupt Handler
|
||||||
UART_INTERRUPT_HANDLER(SIG_UART_DATA)
|
UART_INTERRUPT_HANDLER(SIG_UART_DATA)
|
||||||
{
|
{
|
||||||
// check if buffered tx is enabled
|
// check if buffered tx is enabled
|
||||||
|
@ -247,6 +247,8 @@ UART_INTERRUPT_HANDLER(SIG_UART_DATA)
|
||||||
// check if there's data left in the buffer
|
// check if there's data left in the buffer
|
||||||
if(uartTxBuffer.datalength)
|
if(uartTxBuffer.datalength)
|
||||||
{
|
{
|
||||||
|
// set RS-485 into transmit mode
|
||||||
|
PORTD |= (1<<PD5);
|
||||||
// send byte from top of buffer
|
// send byte from top of buffer
|
||||||
outb(UDR, bufferGetFromFront(&uartTxBuffer));
|
outb(UDR, bufferGetFromFront(&uartTxBuffer));
|
||||||
}
|
}
|
||||||
|
@ -256,8 +258,10 @@ UART_INTERRUPT_HANDLER(SIG_UART_DATA)
|
||||||
uartBufferedTx = FALSE;
|
uartBufferedTx = FALSE;
|
||||||
// return to ready state
|
// return to ready state
|
||||||
uartReadyTx = TRUE;
|
uartReadyTx = TRUE;
|
||||||
// disable TXCIE0 interrupt
|
// disable UDRIE0 interrupt
|
||||||
UCR &= ~(1<<UDRIE0);
|
UCR &= ~(1<<UDRIE0);
|
||||||
|
// enable TXCIE0 interrupt
|
||||||
|
UCR |= (1<<TXCIE0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -268,6 +272,15 @@ UART_INTERRUPT_HANDLER(SIG_UART_DATA)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UART Transmit Complete Interrupt Handler
|
||||||
|
UART_INTERRUPT_HANDLER(SIG_UART_TRANS)
|
||||||
|
{
|
||||||
|
// set RS-485 into receive mode
|
||||||
|
PORTD &= ~(1<<PD5);
|
||||||
|
// disable TXCIE0 interrupt
|
||||||
|
UCR &= ~(1<<TXCIE0);
|
||||||
|
}
|
||||||
|
|
||||||
// UART Receive Complete Interrupt Handler
|
// UART Receive Complete Interrupt Handler
|
||||||
UART_INTERRUPT_HANDLER(SIG_UART_RECV)
|
UART_INTERRUPT_HANDLER(SIG_UART_RECV)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue