Перейти к содержанию
    

непрерывная передача по SPI

при непрерывной передаче

 

while(1){
  while(!IFG1_bit.UTXIFG0);
  U0TXBUF=0xAA;
}

 

в мастер SPI режиме между байтами есть пауза на 2 клока.

можно ли от неё как-нибудь избавится?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

при непрерывной передаче

 

while(1){
  while(!IFG1_bit.UTXIFG0);
  U0TXBUF=0xAA;
}

 

в мастер SPI режиме между байтами есть пауза на 2 клока.

можно ли от неё как-нибудь избавится?

 

Вполне вероятно, что пауза объясняется тем,что как только передача закончина - флаг выставляется не сразу, а через какое-то время (по крайней мере если попытаться по этому флагу дёргать портом - то задержка как раз на 1,5 такта (конечно надо не забывать о задержке на дёрганье портом)), плюс к тому необходимо время на обработку вайла... (посмотрите дизасемблер - что там накомпелировалось)... считаю, что уменьшить паузу можно, реализовав это на асме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

в мастер SPI режиме между байтами есть пауза на 2 клока.

можно ли от неё как-нибудь избавится?

Пауза в 2 клока чьих? Входного для модуля SPI клока или клока самого SPI (UCLK)? Попробуйте снизить частоту тактирования SPI в десять (ну или в восемь) раз. Что-то изменится? Если да, то значит тормозит ваш цикл опроса флага.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пауза в 2 клока чьих? Входного для модуля SPI клока или клока самого SPI (UCLK)? Попробуйте снизить частоту тактирования SPI в десять (ну или в восемь) раз. Что-то изменится? Если да, то значит тормозит ваш цикл опроса флага.

 

пауза в два клока spi UCLK.

 

опрашивается флаг незанятости U0TXBUF.

этот флаг выставляется при переносе данных из U0TXBUF в сдвиговый регистр spi.

т.е. опрос этого флага затормозить передачу никак не может.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот-вот столкнулся с тойжей проблемой задержкой UCLK. И какое-то решение естьпротив этого.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

формировать передачу вручную %). WHILE(!IFG1_bit.UTXIFG0) в теле программы навевает скорбные воспоминания %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...