Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Переход с MSP430f1xx на MSP430f2xx
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
asd7
Подскажите как преобразовать функцию инициализации uart при при переводе проекта с MSP430f149 на MSP430f249.


Код
void UART1Init (void)  {

  UCTL1 &=~ SWRST;          // reset SWRST bit
  UCTL1 = CHAR;             // 8-bit characters            
  UTCTL1 = SSEL1;           // UCLK = SMCLK                
  U1BR0 = 0x41;              скорость (0x341 -   9600)
  U1BR1 = 0x03;
  U1MCTL = 0;              
  URCTL1 = 0;
  ME2 |= UTXE1 + URXE1;                 // Enable USART1 TXD/RXD
  IE2 |= URXIE1;                        // Enable USART1 RX interrupt
}


Заранее благодарен
rezident
MSP430x1xx Family User's Guide (Rev. F) (PDF 1544 KB)
MSP430x2xx Family User's Guide (Rev. H) (PDF 4392 KB)
Сравните сами описания регистров USART и USCI из соответствующих User's Guide. Там их всего-то десяток. Ей-богу будет больше пользы, чем я или кто-то другой напишет вам этот десяток строк. Самостоятельное владение удочкой всяко лучше, чем съесть на халяву рыбу, но всего один раз wink.gif
asd7
Пытался, но гдето накосячил(

Код
  UCA1CTL1 |= UCSWRST;          
  UCA1BR0 = 0x41;
  UCA1BR1 = 0x03;
  UCA1CTL0 = 0;
  UCA1CTL1 = UCSSEL_3;
  UCA1MCTL = UCOS16;
  UC1IE |= UCA1RXIE;
  UCA1CTL1 &=~ UCSWRST;
rezident
С регистром модуляции накосячили. Попробуйте без установки бита UCOS16. Либо пересчитайте значение регистров BRx. Читайте внимательнее раздел 15.3.10 Setting a Baud Rate в User's Guide.
К тому же порядок инициализации регистров вы зачем-то поменяли. Во время инициализации регистров USCI бит UCSWRST должен быть установлен. А он у вас сбрасывается уже на пятой команде, а не на 8-й как планировалось.
asd7
Цитата
Попробуйте без установки бита UCOS16.

Спасибо за помощь, теперь работает)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.