Стивестронг
Вт 02 февраля 2016 г. 13:22
Всем привет,
Я просто хотел узнать, протестировал ли кто -то уже SPI в режиме рабов, и я заинтересован в фрагменте подержанного кода, если таковой имеется.
В настоящее время я работаю над проектом, который включает в себя передачу данных между двумя Maple Minis по SPI в 16 -битном режиме, один - Master, другой - Slave, также включающий доступ DMA от SPI RX к RAM.
Я попытался реализовать некоторые основные функции для настройки SPI в режиме рабов, аналогично процедурам мастер -инициализации SPI, но, похоже, не работает.
Я вижу часы, данные и NSS, правильно выходящие из Мастера, но трубка DMA на подчиненном устройстве вообще не уволена, я не знаю, получает ли SPI данные или нет.
Любой рабочий пример может мне очень помочь.
Спасибо.
Стив
Я просто хотел узнать, протестировал ли кто -то уже SPI в режиме рабов, и я заинтересован в фрагменте подержанного кода, если таковой имеется.
В настоящее время я работаю над проектом, который включает в себя передачу данных между двумя Maple Minis по SPI в 16 -битном режиме, один - Master, другой - Slave, также включающий доступ DMA от SPI RX к RAM.
Я попытался реализовать некоторые основные функции для настройки SPI в режиме рабов, аналогично процедурам мастер -инициализации SPI, но, похоже, не работает.
Я вижу часы, данные и NSS, правильно выходящие из Мастера, но трубка DMA на подчиненном устройстве вообще не уволена, я не знаю, получает ли SPI данные или нет.
Любой рабочий пример может мне очень помочь.
Спасибо.
Стив
Mrburnette
Вт 02 февраля 2016 г. 13:43
@Стив,
В Форум в прошлом году о SPI Select, Но я не мог найти ничего о SPI Slave-Mode на нашем форуме. Я нашел эту статью на старом форуме Leaflabs:
Краткое содержание .... До того, как я проверяю, где кажется, что SPI Maple in Slave Mode просто не обращает внимания на строку Slave Select. Мой анализатор логики Selae показывает хорошие четкие данные, идущие в клен на всех правильных булавках. Для тестирования я использую Arduino 2009 в качестве мастера SPI для генерации данных и замедляю их, пытаясь найти то, что идет не так.
Луча
В Форум в прошлом году о SPI Select, Но я не мог найти ничего о SPI Slave-Mode на нашем форуме. Я нашел эту статью на старом форуме Leaflabs:
Краткое содержание .... До того, как я проверяю, где кажется, что SPI Maple in Slave Mode просто не обращает внимания на строку Slave Select. Мой анализатор логики Selae показывает хорошие четкие данные, идущие в клен на всех правильных булавках. Для тестирования я использую Arduino 2009 в качестве мастера SPI для генерации данных и замедляю их, пытаясь найти то, что идет не так.
Луча
Rogerclark
Вт, 02 февраля 2016 г., 8:36 вечера
Суммировать материал NSS.
Реализация STMS внутри STM32 того, что делает NSS, очень странная.
Он не работает так, как большинство людей ожидают, что линия Slave Select будет работать с точки зрения управления внешними устройствами SPI.
На собственном форуме STMS много сообщений об этом, в основном жаловавшись, это не работает.
Итак, для SPI Master мы отказались от использования аппаратного выбора подчиненного подчинения (NSS).
Также. Как Рэй уже сказал... Я не помню, чтобы кто -то пытался выполнить функциональность SPI подчинкой раньше, с STM32 Libmaple Core I.e Что мы используем.
Реализация STMS внутри STM32 того, что делает NSS, очень странная.
Он не работает так, как большинство людей ожидают, что линия Slave Select будет работать с точки зрения управления внешними устройствами SPI.
На собственном форуме STMS много сообщений об этом, в основном жаловавшись, это не работает.
Итак, для SPI Master мы отказались от использования аппаратного выбора подчиненного подчинения (NSS).
Также. Как Рэй уже сказал... Я не помню, чтобы кто -то пытался выполнить функциональность SPI подчинкой раньше, с STM32 Libmaple Core I.e Что мы используем.
Стивестронг
Вт, 02 февраля 2016 г., 21:18
Хорошо, кажется, я как бы пионер, верно?
Надеюсь, я смогу в одиночку, просто это займет некоторое время.
Надеюсь, я смогу в одиночку, просто это займет некоторое время.
Стивестронг
Ср. 03 февраля 2016 г., 10:25
Удалось уволить DMA Spi Rx.
DMA-Access должен был быть включен до того, как будет включена периферия SPI, что не совместимо с фактическим "spi_reconfigure ()"...
Пока что только 0xffffs сохранился, но я все еще работаю над этим.
DMA-Access должен был быть включен до того, как будет включена периферия SPI, что не совместимо с фактическим "spi_reconfigure ()"...
Пока что только 0xffffs сохранился, но я все еще работаю над этим.
Rogerclark
Ср. 03 февраля 2016 г., 19:41
Спасибо за обновление
Стивестронг
Пт, 05 февраля 2016 г. 13:50
ОБНОВЛЯТЬ
Похоже, проблема была где -то еще, а не в связи с данными SPI, которая работает, как и ожидалось!
SPI -раб, кажется, работает в 16 -битном режиме данных.
Придется подумать о наиболее удобном изменении, чтобы зарегистрироваться в репо, мое фактическое быстрое решение может не понравиться всем
Похоже, проблема была где -то еще, а не в связи с данными SPI, которая работает, как и ожидалось!
SPI -раб, кажется, работает в 16 -битном режиме данных.
Придется подумать о наиболее удобном изменении, чтобы зарегистрироваться в репо, мое фактическое быстрое решение может не понравиться всем
Rogerclark
Пт. 05 февраля 2016 г., 8:05 вечера
Спасибо, Стив
Если у вас нет времени, чтобы написать красивое чистое решение...
Даже ваше прототипное решение может быть полезным для любого, кто нуждается в этом.
Это не нужно входить в репо, фрагмент кода здесь был бы лучше, чем ничего
Спасибо
Роджер
Если у вас нет времени, чтобы написать красивое чистое решение...
Даже ваше прототипное решение может быть полезным для любого, кто нуждается в этом.
Это не нужно входить в репо, фрагмент кода здесь был бы лучше, чем ничего
Спасибо
Роджер
Стивестронг
Пт. 05 февраля 2016 г., 11:01 вечера
Дело в том, что мне пришлось написать новые функции для настройки рабов в SPI.c, хотя настройки прямых регистрации могли быть использованы в файле ino.
В любом случае, я хотел, чтобы это было чисто в формате совместимого с репо.
На следующей неделе я буду в отпуске, с завтрашнего дня, продолжится, когда я вернусь.
Ваше здоровье,
Стив
В любом случае, я хотел, чтобы это было чисто в формате совместимого с репо.
На следующей неделе я буду в отпуске, с завтрашнего дня, продолжится, когда я вернусь.
Ваше здоровье,
Стив
Rogerclark
Сб 06 февраля 2016 г. 1:14
Спасибо, Стив
Я ценю настроение. Я часто пишу вещи, которые я рад использовать для собственного тестирования, но не буду публиковать, поскольку это не аккуратное или оптимизированное
Ваше здоровье
Роджер
Я ценю настроение. Я часто пишу вещи, которые я рад использовать для собственного тестирования, но не буду публиковать, поскольку это не аккуратное или оптимизированное
Ваше здоровье
Роджер
Werecatf
Ср 27 апреля 2016 г. 10:39
Я просто думал, есть ли здесь какие-нибудь примеры о том, как использовать STM32F1 в качестве SPI-Slave, Stevestestong еще не очистил свой код? Я хотел бы посмотреть, как это делается.
Стивестронг
Чт 5 мая 2016 г., 19:24
Хорошо, вот они, мастер и пример раба.
Гевард
Ср 22 июня 2016 г., 7:55 утра
Спасибо, что поделились кодами.
Я получил ошибку о SPI.Begintransactionslave, требование компилятора не является членом «класса Spiclass».
Вы используете стандартную библиотеку STM32Duino SPI?
Я получил ошибку о SPI.Begintransactionslave, требование компилятора не является членом «класса Spiclass».
Вы используете стандартную библиотеку STM32Duino SPI?
Стивестронг
Ср 22 июня 2016 г. 8:19
Вы используете стандартную библиотеку STM32Duino SPI?
Да, но я думаю, что я не проверил свои локальные изменения.
Я должен отправить пиар в Роджере.
Я должен отправить пиар в Роджере.
Rogerclark
Пн 21 ноября 2016 г., 3:22 утра
Я думаю, что SPI изменений PR все еще может быть рассмотрено, мне нужно будет посмотреть.
Из того, что я помню, SPI и USB были в одном PR, и я вручную объединил изменения USB, но я не могу вспомнить, изменил ли я SPI или нет.
Мне нужно проверить
Из того, что я помню, SPI и USB были в одном PR, и я вручную объединил изменения USB, но я не могу вспомнить, изменил ли я SPI или нет.
Мне нужно проверить
Стивестронг
Пн 21 ноября 2016 г., 9:37 утра
Примеры должны работать с использованием мой репо, который содержит эти функции.
Я думаю, что эти изменения уже инициируются в PR, связанном с другой темой из -за моей некомпетентности, чтобы правильно обрабатывать PR на GitHub
Я думаю, что эти изменения уже инициируются в PR, связанном с другой темой из -за моей некомпетентности, чтобы правильно обрабатывать PR на GitHub
синфинатический
Пн, 3 июля 2017 г. 3:25 утра
Любой шанс объединить эти изменения в Mainline GIT Repo?
Стивестронг
Вт, 04 июля 2017 г., 18:23
Изменения сейчас в главной отделке репо -главной ветви.
синфинатический
Ср. 5 июля 2017 г. 1:37
Спасибо!