|
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
|
||||||
Не работает SPI (STM32F4)02.08.2016, 23:15. Показов 20304. Ответов 51
Метки нет (Все метки)
Добрый вечер!
Пытаюсь на самодельной плате с МК STM32F407VGT6 использовать SPI для взаимодействия с памятью от ST M25P20 (http://pdf1.alldatasheet.com/d... 25P20.html). Вот код с комментариями:
Аналогично не работает SPI3. Вопрос: почему, что не так? Уж всё соединено правильно, сигналы от ножки МК к ножке памяти проходят. Питание есть. Shyp select работает. Разве что проверить CLK и SDI/SDO не могу, т.к. нет осциллографа. Не может же сразу два SPI не отрабатывать... Может ошибка в коде? Возможно какие-то программные настройки самого МК надо сделать... Хотя Coosox сам все это делает, т.к. при программировании на плате Dyscovery подобной проблемы не возникало.
0
|
||||||
| 02.08.2016, 23:15 | |
|
Ответы с готовыми решениями:
51
SPI+ STM32F4 STM32F4 SD SPI FATFS STM32f4 SPI+CRC |
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.08.2016, 04:14 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 06.08.2016, 10:48 | |
|
Riftistor, займитесь наконец-то чтением RM. Хотя бы картинки изучите . Своим гаданием вы только вводите ТС в ступор.
ItisDrom, прприобрите ЛА. Все вопросы отпадут...
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.08.2016, 11:37 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 06.08.2016, 12:06 | |
|
Оставь свои эмоции. Однозначно только одно , читать ты не любишь или не умеешь и помощи от тебя не может быть априори, только один вред.
0
|
|
|
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
|
||||||
| 06.08.2016, 12:13 [ТС] | ||||||
|
Так ведь функция spi1ReadByte(uint8_t byte) отправляет и читает данные сразу же после отправки. Получается, вызывая четыре раз эту функцию, данные с чипа памяти должны приехать во время четвертого вызова... Ведь там чтение идет.
В любом случае, если добавить эти строки сразу после последнего вызова spi1ReadByte(uint8_t byte):
Ступор получается с самодельной платой... А вот на плате Dyscovery интерфейс SPI у меня заработал нормально с первого раза - mems-акселерометр значения выдавал.
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
|||||||
| 06.08.2016, 12:24 | |||||||
[В любом случае, если добавить эти строки сразу после последнего вызова
У тебя RXNE проверялся в конце передачи 4-го байта, затем ты данные прочел и флаг сбросился, естественно если его проверять еще и перед отправкой 5-го, то все зависнет.
0
|
|||||||
|
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
|
|
| 06.08.2016, 14:04 [ТС] | |
|
Родилось!
Да, 5й байт отправить нужно. Если честно, то мне не понятно, зачем слать еще один байт, если на рисунке Fikure 18. Release from Diip Power-down omd Read Electronic Signature (RES) Instruction Sequence omd Data-Out Sequence их всего четыре (команда + 3 dummy). И еще, второе что важно: на ножке HOLD должна быть логическая единица! Если ее не будет - то получатся мучения. Кстати, dummy байты встречаются часто, я заметил. Обычно это байты 0x00? Или 0xAA (10101010) или 0x55 (01010101)?
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
|||
| 06.08.2016, 14:09 | |||
0
|
|||
|
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
|
||||||
| 06.08.2016, 14:35 [ТС] | ||||||
|
Ключевое слово - "позже"? Типа отправка занимает некоторое время, которого хватает, что после начать корректный прием?
Вот потоковая передача, если кому надо:
0
|
||||||
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.08.2016, 14:54 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 06.08.2016, 16:24 | |
|
И что мешает отправить все 5 байт одинаково? Проверяя TXE ? А после последней отправки ждать BSY и вычитать приемный буфер.
ItisDrom прием и передача в SPI идут одновременно и чтоб что-то принять надо что либо отправить. Ну читайте же RM, гадалки хреновы...
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
|||||||
| 06.08.2016, 17:06 | |||||||
0
|
|||||||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 06.08.2016, 18:17 | |
|
Riftistor, Естественно OVR выставляется после каждой вашей трансляции без вычитки буфера, тогда отправляем 4 байта , с проверкой TXE. Ждем BSY , вычитывиваем буфер. Отправляем байт и уже без проверки TXE , но с проверкой RXNE и вычиткой буфера.
И все это легко заменяется одной функцией отправки одного байта с проверкой RXNE и последующей вычиткой буфера. И вопрос естественно есть- когда ты RM читать начнёшь? Fikure 253 RM 90, как раз случай ТС. Все расписано от и до.
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.08.2016, 19:04 | ||
0
|
||
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 06.08.2016, 19:21 | |
|
Не изворачивайся . На твои ошибки тебя носом с самого начала тыкали - что проверкой одного TXE не обойтись. Так что не надо ля-ля.
0
|
|
|
0 / 0 / 0
Регистрация: 25.04.2016
Сообщений: 334
|
||
| 06.08.2016, 20:13 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
| 06.08.2016, 20:58 | |
|
Следующие темы надо создавать с заголовками
Наконец-то (!!!) у меня не работает SPI (UART / I2C / I2S / RTC нужное выбрать) на STM32 (EFM32 / SAM нужное выбрать) и я не хочу читать RM. Помогите люди добрые, кто чем может (желательно кодом, но можно и деньгами).
0
|
|
|
0 / 0 / 0
Регистрация: 07.02.2016
Сообщений: 290
|
||
| 06.08.2016, 21:33 [ТС] | ||
0
|
||
|
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
|
|
| 06.08.2016, 21:38 | |
|
Я не про 5-ый байт и даже не касательно Вас. Это про общий подход к нахождению ошибок.
0
|
|
|
1 / 1 / 0
Регистрация: 06.12.2016
Сообщений: 3,946
|
|
| 06.08.2016, 22:44 | |
|
Мля, Riftistor ты дитё что ли? Тебе уже сколько примеров привели и совершенно без проверки TXE . Естественно что вы оба RM не читали. Хватит уже выкручиваться как глист.
К твоему сведению и при только передаче одной проверкой TXE не обойтись.
0
|
|
| 06.08.2016, 22:44 | |
|
stm32f4 + SPI (регистр SR) Инициализация SDHC по SPI STM32F4 STM32F4 (Discovery) SPI SD card Stm32f4 + spi + microsd еще разок D: HAL SPI DMA(STM32F4) + WIZ550io Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|