|
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, тоже самое) есть идеи?
--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
|
|
|
|
|
 |
Сообщений в этой теме
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 BlackOps Ну а что там разбиратся?
у меня и SSM=1 и SSI = 1
... Apr 21 2013, 19:53 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 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
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|