Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: UART на MSP430G2553
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
BratInt
Как осуществить обмен данными с MSP430G2553 через встроенный UART?
Проверял исходники, поставляемые от TI, вот например:
Код
#include  "msp430g2553.h"

void main(void)
{
  WDTCTL = WDTPW + WDTHOLD;                 // Stop WDT
  BCSCTL1 = CALBC1_1MHZ;                    // Set DCO
  DCOCTL = CALDCO_1MHZ;
  P1SEL = BIT1 + BIT2;                     // P1.1 = RXD, P1.2=TXD
  P1SEL2 = BIT1 + BIT2;                     // P1.1 = RXD, P1.2=TXD
  UCA0CTL1 |= UCSSEL_2;                     // SMCLK
  UCA0BR0 = 104;                            // 1MHz 9600
  UCA0BR1 = 0;                              // 1MHz 9600
  UCA0MCTL = UCBRS0;                        // Modulation UCBRSx = 1
  UCA0CTL1 &= ~UCSWRST;                     // **Initialize USCI state machine**
  IE2 |= UCA0RXIE;                          // Enable USCI_A0 RX interrupt

  __bis_SR_register(LPM0_bits + GIE);       // Enter LPM0, interrupts enabled
}

//  Echo back RXed character, confirm TX buffer is ready first
#pragma vector=USCIAB0RX_VECTOR
__interrupt void USCI0RX_ISR(void)
{
  while (!(IFG2&UCA0TXIFG));                // USCI_A0 TX buffer ready?
  UCA0TXBUF = UCA0RXBUF;                    // TX -> RXed character
}


И другие, на 9600, 19200, 115200 - не работает. Отправляю данные на контроллер (через ланчпад) - функция обработки прерывания вобще не вызывается.
rezident
Oversampling отключите (не устанавливать бит UCBRS0 в регистре UCA0MCTL). Ваши делители на него не рассчитаны.
Второй вариант. Вы случайно затерли сегмент флеш INFO_A с калибровочными коэффициентами, записанными на заводе. Попробуйте исключить две строки инициализации системы тактирования с их участием. После сброса система тактирования и так работает на частоте 1МГц.
BratInt
Спасибо, но не помогло.
Хотя вроде я понял в чём проблема - здесь P1.1=RXD, P1.2=TXD, а на ланчпаде - наоборот P1.1=TXD, P1.2=RXD...
Кстати UART на Таймере А работает нормально.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.