[an error occurred while processing this directive]
|
#define CPU_CLOCK THE_CLOCK_FREQ*dsPIC_MULTIPLAYER
#define CONFIG_INT_UART (UART_RX_INT_EN & UART_RX_INT_PR2 & UART_TX_INT_EN & UART_TX_INT_PR4)
void Setup_RS232_1()
{
word baud,uartmode,uartsta;
baud = (((CPU_CLOCK/THE_BAUD_RATE) /16) - 1);
uartmode = UART_EN &
UART_IDLE_CON &
UART_EN_WAKE &
UART_DIS_LOOPBACK &
UART_DIS_ABAUD &
UART_NO_PAR_8BIT &
UART_1STOPBIT;
uartsta = UART_TX_ENABLE & UART_TX_PIN_NORMAL & UART_INT_TX_BUF_EMPTY & UART_ADR_DETECT_DIS;
OpenUART1(uartmode,uartsta,baud);
ConfigIntUART1(CONFIG_INT_UART);
}
void ConfigIntUART1(unsigned int config)
{
// clear IF flags
IFS0bits.U1RXIF = 0;
IFS0bits.U1TXIF = 0;
// set priority
IPC2bits.U1RXIP = 0x0007 & config;
IPC2bits.U1TXIP = (0x0070 & config) >> 4;
// enable/disable interrupt
IEC0bits.U1RXIE = (0x0008 & config) >> 3;
IEC0bits.U1TXIE = (0x0080 & config) >> 7;
}
E-mail: info@telesys.ru