|
STM32F407 Проблемы с SPI, Не отсылается байт сразу после проверки бита ТХЕ в регистре SR |
|
|
|
Apr 21 2013, 05:50
|

Знающий
   
Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121

|
Вот код: Код while ( ( (SPI2 -> SR) & 0x2 ) == RESET) { //wait until TXE bit is 1 } SPI2 -> DR = d0; когда этот код исполняется на чипе, или в дебаггере без брейкпоинтов то на осциллографе я только вижу SCK поднятый а MOSI на нуле. Но когда я исполняю этот код по очереди линию за линией в дебаггере, или же ставлю брейк поинт в дебаггере между циклом while и строчкой с записью в DR, а затем достигнув брейкпоинта опятй продолжаю исполнять код, то на осциллографе вижу переключение SCK и отсылку битов d0. в чем может быть проблема? Мне например кажется что SPI2 -> DR = d0; который сразу следует после цикла не дает возможности SPI контроллеру быстро среагировать и послать бит, а исполняя код строка за строкой все работает. но ведь с другой стороны, я же циклом проверяю бит ТХЕ!? и если я вышел с цикла то буфер свободен и должен бит нормально отослатся? (я пробовал тоже самое циклом проверять и бит BSY, тоже самое) есть идеи?
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
|
 |
Ответов
|
Apr 21 2013, 19:53
|

Знающий
   
Группа: Свой
Сообщений: 618
Регистрация: 7-06-08
Из: USSR
Пользователь №: 38 121

|
Ну а что там разбиратся? у меня и SSM=1 и SSI = 1 Когда SSM=1 то програмное управление слейвом включено. в таком случае значение бита SSI передается на ногу NSS, и то что на ноге NSS извне игнорируется! Цитата Bit 8SSI:Internal slave select This bit has an effect only when the SSM bit isset. The value of this bit is forced onto the NSS pin and the IO value of the NSS pin is ignored. иными словами этим битом можно ногой NSS управлять. в моемслучае это вообще не принципиально... т.е. с этим я разобрался и это думаю к данной проблеме не имеет отношения. Ил я не прав в чем то?
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
Сообщений в этой теме
BlackOps STM32F407 Проблемы с SPI Apr 21 2013, 05:50 ViKo Вы только посылаете, ничего не читаете?
Покажите, ... Apr 21 2013, 06:30 BlackOps после - бесконечный цикл.
до - ничего касательно э... Apr 21 2013, 06:46 ViKo На тактовые частоты посмотрите, все ли такие, как ... Apr 21 2013, 08:02 BlackOps вот настройка SPI
Код//===========================... Apr 21 2013, 08:30 adnega Цитата(BlackOps @ Apr 21 2013, 12:30) в ч... Apr 21 2013, 08:39 Golikov A. идея такая
данные в регистр
включили передатчик (д... Apr 21 2013, 08:41 BlackOps Цитата(Golikov A. @ Apr 21 2013, 13:41) и... Apr 21 2013, 08:43 Golikov A. ну у меня нет даташита на все стм я не могу провер... Apr 21 2013, 12:54 BlackOps Да нет же!
Все правильно сдесь!
while ( (... Apr 21 2013, 17:20 Genadi Zawidowski А что за константа RESET?
Вот мой вариант (медлен... Apr 21 2013, 17:37 BlackOps вот моя константа как объявлена: typedef enum {RE... Apr 21 2013, 17:45 Genadi Zawidowski Цитатаа зачем делать вот это: SPI1->DR & SP... Apr 21 2013, 17:59 BlackOps да нет не заработало, попробовал также один байт и... Apr 21 2013, 18:04 Golikov A. ну остается только последнее SPI2 или SPI1
точно ч... Apr 21 2013, 18:11 BlackOps Да, как яуже говорил, если например ставлю брейк м... Apr 21 2013, 18:21 Genadi Zawidowski Покажите код, который получился после того, как Вы... Apr 21 2013, 18:31 BlackOps вот по вашему образцу код мой:
Код(void) ... Apr 21 2013, 18:41 Golikov A. у меня глупый вопрос, а скорости SPI хватает? вы ч... Apr 21 2013, 18:50 BlackOps Цитата(Golikov A. @ Apr 21 2013, 22:50) в... Apr 21 2013, 19:14 Genadi Zawidowski Подсократили, однако...
Функцию выдачи байта на SP... Apr 21 2013, 18:58 BlackOps естесственно хватает, вот что вижу на осциллографе... Apr 21 2013, 19:05 Genadi Zawidowski Так... 1) А что с выходом чипселекта? Сказать что ... Apr 21 2013, 19:12 Genadi Zawidowski Раз с глухим while не работает, точно с аппаратным... Apr 21 2013, 19:15 Golikov A. Не ну тоды магия.
А во придумал!!! А... Apr 21 2013, 19:20 BlackOps попробовал добавление SPI_CR1_DFF, тоже самое, не ... Apr 21 2013, 19:31 Genadi Zawidowski DFF вообще не нужно (этио 16 бит слова).
Вам надо ... Apr 21 2013, 19:41 Golikov A. а проц то вообще запускается? без дебагера? Может ... Apr 21 2013, 19:59 BlackOps проц нормально запускается и работает без дебаггер... Apr 21 2013, 20:41 Golikov A. ну тогда только что есть какое то прерывание, кот... Apr 21 2013, 21:04 BlackOps ладно, мне кажется я частичто решил проблему.
Се... Apr 21 2013, 21:10 Golikov A. думаю стоит ли у вас микросхема рессета проца?
а ... Apr 21 2013, 21:15 BlackOps да было иначе периферия не работала бы вообще.
Во... Apr 21 2013, 21:37 HHIMERA Цитата(BlackOps @ Apr 22 2013, 00:37) Инт... Apr 22 2013, 03:48 Golikov A. а как SPI должен отличить есть что-то на входе или... Apr 22 2013, 03:29 BlackOps Цитата(Golikov A. @ Apr 22 2013, 08:29) К... Apr 22 2013, 04:26  adnega Цитата(BlackOps @ Apr 22 2013, 08:26) Его... Apr 22 2013, 10:39 Golikov A. я вот поглядел даташит(как и реф мануал) и не увид... Apr 22 2013, 04:05 HHIMERA Цитата(Golikov A. @ Apr 22 2013, 07:05) т... Apr 22 2013, 07:07  Golikov A. Цитата(HHIMERA @ Apr 22 2013, 11:07) Как ... Apr 22 2013, 08:05   HHIMERA [DELETED] Apr 22 2013, 09:49    Golikov A. [DELETED]
Цитата(Genadi Zawidowski @ Apr 22 2... Apr 22 2013, 11:01 ViKo HHIMERA выразился не точно. TXE выставляется сразу... Apr 22 2013, 04:39 Genadi Zawidowski Наконец-то увидел инициализацию.
Зачем SSI и SSM о... Apr 22 2013, 10:48 Golikov A. Цитата(Genadi Zawidowski @ Apr 22 2013, 14... Apr 22 2013, 15:56  BlackOps Цитата(Golikov A. @ Apr 22 2013, 19:56) в... Apr 22 2013, 21:04 adnega У меня хорошо работает такая инициализация:
CODEvo... Apr 22 2013, 11:06 ViKo Я свои SPI в STM32F207 инициализировал так. Тактир... Apr 22 2013, 12:28 Genadi Zawidowski Цитатав нем утверждается что если поставить SSM, ч... Apr 22 2013, 16:18 Golikov A. не понятно почему пауза перед записью в регистр по... Apr 22 2013, 16:28 ViKo Я так и не увидел ответа, что SPI не работал из-за... Apr 23 2013, 04:11 Golikov A. Цитата(ViKo @ Apr 23 2013, 08:11) Я так и... Apr 23 2013, 04:26 Genadi Zawidowski Если вход NSS перед началом передачи где-то около ... Apr 23 2013, 06:16 BlackOps Цитата(Golikov A. @ Apr 23 2013, 08:26) н... Apr 23 2013, 07:41 Genadi Zawidowski Нет желания подтянуть к "1" вывод NSS? И... Apr 23 2013, 08:49 HHIMERA Детский сад... гадание пальцем на манной каше... ... Apr 23 2013, 09:37  ViKo Цитата(HHIMERA @ Apr 23 2013, 12:37) Выкл... Apr 23 2013, 09:41   Tolyaha Цитата(ViKo @ Apr 23 2013, 12:41) Имею Ди... Apr 23 2013, 10:11    HHIMERA Цитата(Tolyaha @ Apr 23 2013, 13:11) Не в... Apr 23 2013, 11:01 Genadi Zawidowski ЦитатаДетский сад... гадание пальцем на манной каш... Apr 23 2013, 11:14 Golikov A. написать что типа в мануале все верно, а все дурак... Apr 23 2013, 16:21 BlackOps Короче,чтобы начать плностью с нуля, пошел взял но... Apr 23 2013, 19:46 Golikov A. а где варианта
SSM =1, SSI = 0?
вроде как инструк... Apr 24 2013, 03:41 BlackOps Цитата(Golikov A. @ Apr 24 2013, 08:41) К... Apr 24 2013, 04:13  adnega Цитата(BlackOps @ Apr 24 2013, 08:13) Про... Apr 24 2013, 04:37 BlackOps затем что с ним не работает как надо!
SSM = 0... Apr 24 2013, 04:51 adnega Цитата(BlackOps @ Apr 24 2013, 08:51) зат... Apr 24 2013, 04:54 BlackOps Я не пойму немного, разве целью установки SSOE=1 н... Apr 24 2013, 05:05 adnega Цитата(BlackOps @ Apr 24 2013, 09:05) И е... Apr 24 2013, 06:22  BlackOps Цитата(adnega @ Apr 24 2013, 11:22) Никто... Apr 24 2013, 07:45 Golikov A. SSM=1, SSI = 0 - тут пин NSS в 1 вроде должен быть... Apr 24 2013, 05:51 ViKo http://electronix.ru/forum/index.php?showt...t... Apr 24 2013, 07:51 HHIMERA Всё это, конечно... очень интересно...
"А ... Apr 24 2013, 11:44 Golikov A. Цитата(HHIMERA @ Apr 24 2013, 15:44) Всё ... Apr 24 2013, 13:52 Genadi Zawidowski Цитатапоетому поставил небольшой цикл for, чтобы о... Apr 24 2013, 12:00 BlackOps Пишу с опозданием надобыло кое какие проекты сдава... May 2 2013, 03:51
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|