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

 
 
 
Reply to this topicStart new topic
> Проблема с SPI в MSP430F2619, Непонятки с UCCKPH в Universal Serial Communication Interface,
SanvaldYV
сообщение May 19 2008, 09:44
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Суть проблемы: хочу перенести проект с 169-й на 2619-ю MSP-шку, возникла неожиданная проблема с SPI. Вот код инициализирующей функции:
Код
void InitSPI( void )
{
  UCB1CTL1 = UCSWRST; // Reset

  // SPI function
  // 8-bit data,SPI mode,Master mode
  UCB1CTL0 |= UCSYNC|UCMST|UCMSB;
  
  // делитель 4
  UCB1BR0 = 0x04;
  UCB1BR1 = 0;

  UCB1CTL1 |= UCSSEL0|UCSSEL1;  // source - SMCLK      

  UCB1STAT = 0x00;  

  // ножки к spi
  SPI_SEL |= BIT(MOSI)|BIT(MISO)|BIT(SCK);

  UC1IE &= ~(UCB1TXIE|UCB1RXIE);   //Disable all SPI Interrupt

  UCB1CTL1 &= ~UCSWRST;          // reset SWRST bit
}


При такой конфигурации (бит UCCKPH не установлен) - изменение данных на MOSI должно происходить по первому фронту SCK, а захват - по второму ("Data is changed on the first UCLK edge and captured on the
following edge.").
Однако, если смотреть осциллом - то изменение состояние MOSI происходит по заднему фронту клока, что должно иметь место только при установленном UCCKPH в UCB1CTL0. Если его установить - все останется так же.

Есть у кого какие нибудь мысли на этот счет? Может я что нибудь упустил?
Go to the top of the page
 
+Quote Post
SanvaldYV
сообщение May 19 2008, 11:13
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 125
Регистрация: 21-03-07
Из: Санкт-Петербург
Пользователь №: 26 371



Проблема уже решилась - достаточно было строку
Код
UCB1CTL0 |= UCSYNC|UCMST|UCMSB;


заменить на

Код
UCB1CTL0 = UCSYNC|UCMST|UCMSB;
Go to the top of the page
 
+Quote Post
rezident
сообщение May 19 2008, 11:55
Сообщение #3


Гуру
******

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



Цитата(Юрий Санвальд @ May 19 2008, 17:13) *
Проблема уже решилась - достаточно было строку

заменить на

Угу. Я тоже кроме этой строки других подозрительных мест не нашел. Только написать об этом не успел smile.gif
Go to the top of the page
 
+Quote Post
MarinaM
сообщение Oct 6 2009, 12:51
Сообщение #4





Группа: Новичок
Сообщений: 1
Регистрация: 6-10-09
Пользователь №: 52 782



Может кто нибудь знает где взять описание на SPI для MSP430F2619 на русском языке? А то у меня тоже проблема при переходе с MSP430F619 на MSP430F2619. Заранее спасибо.
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 6 2009, 15:46
Сообщение #5


Гуру
******

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



Цитата(MarinaM @ Oct 6 2009, 18:51) *
Может кто нибудь знает где взять описание на SPI для MSP430F2619 на русском языке?
В библиотеке фирмы Компел (один из российских представителей и дилеров фирмы TI) есть перевод документа SLAA380 - Migrating From MSP430F16x to MSP430F261x и начало перевода отдельных глав SLAU144 - MSP430x2xx Family User's Guide. Посмотрите там сами http://mcu.compel.ru/tag/arcticle/MSP430CORE
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:57
Рейтинг@Mail.ru


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