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

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


Знающий
****

Группа: Свой
Сообщений: 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, тоже самое)

есть идеи?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
BlackOps
сообщение Apr 21 2013, 19:53
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 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 управлять.

в моемслучае это вообще не принципиально... т.е. с этим я разобрался и это думаю к данной проблеме не имеет отношения.
Ил я не прав в чем то?


--------------------
Нажми на кнопку - получишь результат, и твоя мечта осуществится
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 23:48
Рейтинг@Mail.ru


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