Код
void Init_UART (void)
{
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 = UCSWRST; // **Initialize USCI state machine*
UCA0BR0 = 82; // 16MHz/9600 = ~1666
UCA0BR1 = 6; //
UCA0MCTL = UCBRS2 + UCBRS1; // Modulation UCBRSx = 6
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
Rcv_Buf [Ind++] = UCA0RXBUF; // Save to Buffer
}
{
P3SEL = 0x30; // P3.4,5 = USCI_A0 TXD/RXD
UCA0CTL1 = UCSWRST; // **Initialize USCI state machine*
UCA0BR0 = 82; // 16MHz/9600 = ~1666
UCA0BR1 = 6; //
UCA0MCTL = UCBRS2 + UCBRS1; // Modulation UCBRSx = 6
UCA0CTL1 |= UCSSEL_2; // SMCLK
UCA0CTL1 &= ~UCSWRST; // **Initialize USCI state machine**
IE2 |= UCA0RXIE; // Enable USCI_A0 RX interrupt
}
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
Rcv_Buf [Ind++] = UCA0RXBUF; // Save to Buffer
}
Концентратор передает посылки корректно, без задержек и пауз в пакетах. Большая часть плат ведь заработали сразу, а часть -нет. Процы из одной упаковки.. Снижал скорость передачи - не помогает. Может кто-нибудь сталкивался с ошибками в работе UART на 2122, подскажите? В эрратах ответа не нашел. Заранее благодарен.