//UART2 RS485
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_UART2);
ROM_SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG);
ROM_GPIOPinConfigure(GPIO_PG4_U2RX);
ROM_GPIOPinConfigure(GPIO_PG5_U2TX);
ROM_GPIOPinTypeUART(GPIO_PORTG_BASE, GPIO_PIN_4 | GPIO_PIN_5);
baud_rate_init(EEBaudrate);
ROM_UARTEnable(UART2_BASE);
ROM_UARTFIFODisable(UART2_BASE);
ROM_IntEnable(INT_UART2); //ê1ÄüUART2ÖD¶Ï
ROM_UARTIntEnable(UART2_BASE, UART_INT_RX | UART_INT_RT);
//ROM_UARTIntEnable(UART2_BASE, UART_INT_RX);
ROM_UARTIntEnable(UART2_BASE, UART_INT_TX);
/**********************************************************
RS485
**********************************************************/
void UART2_Handler(void)
{
uint32_t ui32Status;
ui32Status = ROM_UARTIntStatus(UART2_BASE, true);
ROM_UARTIntClear(UART2_BASE, ui32Status);
if((ui32Status == UART_INT_RX) || (ui32Status == UART_INT_RT))
{
while(ROM_UARTCharsAvail(UART2_BASE))
{
}
}
if(ui32Status == UART_INT_TX)
{
Q1_Light_flag=0;
if(SndFrmCnt[6]
{
if(ROM_UARTSpaceAvail(UART2_BASE))
{
ROM_UARTCharPutNonBlocking(UART2_BASE, tx_buf[SndFrmCnt[6]++]);
}
}else Snd_Complete_Flag[6]=1;
}
}
|