реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Переход с MSP430f1xx на MSP430f2xx
asd7
сообщение Apr 11 2011, 13:11
Сообщение #1





Группа: Новичок
Сообщений: 3
Регистрация: 11-04-11
Пользователь №: 64 299



Подскажите как преобразовать функцию инициализации 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
}


Заранее благодарен
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 11 2011, 16:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



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
Go to the top of the page
 
+Quote Post
asd7
сообщение Apr 12 2011, 07:17
Сообщение #3





Группа: Новичок
Сообщений: 3
Регистрация: 11-04-11
Пользователь №: 64 299



Пытался, но гдето накосячил(

Код
  UCA1CTL1 |= UCSWRST;          
  UCA1BR0 = 0x41;
  UCA1BR1 = 0x03;
  UCA1CTL0 = 0;
  UCA1CTL1 = UCSSEL_3;
  UCA1MCTL = UCOS16;
  UC1IE |= UCA1RXIE;
  UCA1CTL1 &=~ UCSWRST;
Go to the top of the page
 
+Quote Post
rezident
сообщение Apr 12 2011, 13:31
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



С регистром модуляции накосячили. Попробуйте без установки бита UCOS16. Либо пересчитайте значение регистров BRx. Читайте внимательнее раздел 15.3.10 Setting a Baud Rate в User's Guide.
К тому же порядок инициализации регистров вы зачем-то поменяли. Во время инициализации регистров USCI бит UCSWRST должен быть установлен. А он у вас сбрасывается уже на пятой команде, а не на 8-й как планировалось.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
asd7
сообщение Apr 13 2011, 13:30
Сообщение #5





Группа: Новичок
Сообщений: 3
Регистрация: 11-04-11
Пользователь №: 64 299



Цитата
Попробуйте без установки бита UCOS16.

Спасибо за помощь, теперь работает)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 3rd August 2025 - 15:18
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016