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

STM32F4 продолжает подкидывать сюрпрайзы

SPI2 настроен мастером, режим приём-передача (одновременно).

В большинстве случаев на приёме младший бит в байте оказывается нулём, хотя изредка читается правильно.

 

Ещё используются SPI4 и SPI6, передача на всех трёх без вопросов, приём на 4-ом тоже без проблем, 2-й вот почему-то глючит.

 

Мнения?

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


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

полярность и фаза клока?

Всё по нулям.

 

кто-что рулит чип селлектом?

Софтварно.

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


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

Длинная линия, Ватсон!

Нет. Меня на такую фигню не купишь.

 

 

"По нулям" - это "согласовано со слэйвом" или как?

Да это всё не по делу.

Имеется сигнал MISO, который судя по осциллографу (да по и логике) передаёт сигнал 0х51 (к примеру), а принимается 0х50, вот и всё.

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


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

Имеется сигнал MISO, который судя по осциллографу (да по и логике) передаёт сигнал 0х51 (к примеру), а принимается 0х50, вот и всё.

 

сигнал SCK то имеется на второй щуп, и полярность с фазой правильно на осцыле (а не по логике) выглядят?

 

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


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

Да, хорошо взглянуть бы на осциллограммы и в исходник программы.

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


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

Блин народ, вы меня удивляете.

 

А что, теоретически возможно так настроить SPI чтобы младший бит не принимался? :-))))))

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


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

Блин народ, вы меня удивляете.

А что, теоретически возможно так настроить SPI чтобы младший бит не принимался? :-))))))

запросто - например когда фронт стробирования данных по клокам идёт одновременно со сменной этих данных

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


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

запросто - например когда фронт стробирования данных по клокам идёт одновременно со сменной этих данных

 

Тогда будут ВСЕ биты нестабильны.

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


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

Есть нюансы, и они уже обсуждались. Смотря какие флаги использовать для завершения процедуры передачи.

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


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

Есть нюансы, и они уже обсуждались. Смотря какие флаги использовать для завершения процедуры передачи.

 

Ваще-то речь о приёме. Или вы имеете в виду, что поскоку приём это тоже передача (:-)) то вся эта фигня с проверкой BSY или TXE и здесь может нагадить?

Но ведь используется последняя либа от производителя....

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


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

Ваще-то речь о приёме. Или вы имеете в виду, что поскоку приём это тоже передача (:-)) то вся эта фигня с проверкой BSY или TXE и здесь может нагадить?

Но ведь используется последняя либа от производителя....

Настройте SPI на прием/передачу большего числа разрядов, чем требуется. Тогда сможете сказать, влияет ли факт окончания посылки на принятые данные.

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


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

Но ведь используется последняя либа от производителя....

То есть баги там самые свежие? :-)

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


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

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

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

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

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

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

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

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

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

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