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

 
 
> STM32F091 - SPI, не срабатывает RXNE
toweroff
сообщение Dec 29 2016, 15:50
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Добрый вечер

В силу разных причин мне нужно менять на ноге MOSI "0" и "1", и при этом видеть, что происходит на MISO
Соответственно, SCLK и NSS в этом не участвуют, они задействованы как GPIO

Первая грабля ударила по лбу, когда оказалось, что SPI определяет, что уже ктой-то "дернул" ногу NSS в "0" и сразу бит SPE сбрасывается и возводится MODF (fault)
Ну хорошо, выставил бит программного управления ногой NSS (бит SSM), теперь SPI engine не отключается

Поставил бит RXNEIE, пишу в регистр данных и жду, когда войду в прерывание по флагу непустой очереди RX... и могу ждать вечно, в регистре статуса RXNE не меняется

Что еще посмотреть?

Вот ведь зараза sad.gif

В общем так... SPI engine у STM32F0 тактируется от пина, а не внутри. В результате - если нет "дергания" пина (не настроен как альтернативная функция SCK) - нет и работы SPI
NXP такие штуки позволяла делать (по крайней мере с ARM7), тактируясь внутри кристалла, а что побудило пойти ST таким путем - загадка sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
uriy
сообщение Dec 30 2016, 08:44
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
а что побудило пойти ST таким путем - загадка
Откуда же разработчикам чипа было знать что вы используете SPI без SCLK?
Наверно если вы опишите что вам надо вас лучше поймут.

NSS я никогда не использовал, всегда управлял как GPIO.
SPI вы как мастер используете или слейв?
Мне кажется как мастер. Вам нужно только выдать данные или нужно и принять тоже?
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:59
Рейтинг@Mail.ru


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