|
-26 / 4 / 0
Регистрация: 26.09.2024
Сообщений: 128
|
||||||
Передача данных по i2c через DMA STM32F401CUE608.10.2025, 13:46. Показов 4112. Ответов 95
Метки нет (Все метки)
Добрый день. При попытки передать данные на устройство по i2c через DMA нифига не выходит, DMA не в какую не хочет работать.
Адрес устройства определяется как надо, условие Старт и отправка адреса тоже происходит нормально но DMA не стартует и нет прерывания от DMA. В отладке видно что бит DMA1_Stream6->CR |= DMA_SxCR_EN; устанавливается.
Нашёл ошибку DMA1_Stream6->CR |= DMA_CHANNEL_6; исправил на DMA1_Stream6->CR |= DMA_CHANNEL_1; как в таблице всё равно не хочет заводиться.
0
|
||||||
| 08.10.2025, 13:46 | |
|
Ответы с готовыми решениями:
95
ADC->DMA->SDIO (или NAND через FSMC) без остановки в обработчике прерываний DMA на STM32F407VG, реально или нет? USART2(RX+IDLE+DMA)+USART3(TX DMA) STM32F4Discovery - ADC DMA и FSMC DMA |
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
||
| 14.10.2025, 18:06 | ||
|
есть еще и MOSI Master Output Slave Input мастер выдает данные MISO Maser Input Slave Output мастер принимает данные т.е используется два провода на вход и выход а в I2C один провод и на прием и на передачу
0
|
||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,062
|
||||
| 14.10.2025, 18:33 | ||||
|
0
|
||||
|
335 / 129 / 8
Регистрация: 19.07.2024
Сообщений: 688
|
|||
| 14.10.2025, 18:43 | |||
|
0
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,875
|
|
| 14.10.2025, 19:02 | |
|
0
|
|
|
|
||
| 14.10.2025, 19:26 | ||
|
Говорил я больше про практику разработчика: одно на основании другого понимается просто. Ну выразил мысль немного не так, что теперь - на 3 страницы будем это обсуждать? Извините, разучился доходчиво пояснять..
0
|
||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,062
|
||||||
| 14.10.2025, 20:42 | ||||||
|
Вот только SPI или UART это именно интерфейсы, а I2C или USB - скорее протоколы.
0
|
||||||
|
|
|
| 14.10.2025, 21:06 | |
|
COKPOWEHEU, ну да, у всех своя голова и понимание, согласен.
Я, между прочим, первым как раз I2C освоил, а уж потом SPI и подобные. Даже лепил некий "симбиоз", т.к. очень подходили фишки i2c, типа арбитража и т.п., но не хватало аварийного железного сброса шины (всех мастеров и зависших слэйвов).. Мне честно кажется(?), что тот кто освоил что-то из одного, то и с другим должен разобраться. Не велика наука. В SPI тоже не все сразу втыкают в разность фаз сигналов и долго думают - почему не робит... Т.е. для кого и просто, а для кого труба..
0
|
|
|
Windows must die
|
|||
| 14.10.2025, 21:37 | |||
|
Добавлено через 3 минуты Ну или вот столкнулся с датчиком SHT3x: в даташите написано, что после того, как он ACK на чтение ответит, считывай себе 6 байт данных и обрабатывай. Даже во всяких чужих кодах на просторах интернетов и в коде линуксового кернельного модуля так. А вот хрен: если тупо считать эти 6 байт и больше ничего не делать, он "уходит в себя" и перестает отвечать ACK на свой адрес. "Методом тыка" установил, что достаточно хоть какое-то обращение к нему сделать (например, сбросить регистр статуса), и все хорошо. В общем, зачастую на платах с I2C'шными железяками я устанавливаю их питание через p-канальный мосфет, который можно, дрыгнув ногой, МК, отключить на несколько миллисекунд (если "там" много кондеров, лучше даже на 1 секунду для надежности), а потом опять включить. И подтяжки SDA/SCL обязательно уже после него делать, т.к. некоторым паразитам хватает питания через резисторы подтяжки (правда, я редко ставлю 4.7к - только если на шине исключительно одно устройство и скорость низкая, обычно подтяжки от 1к и даже до 333 Ом)!
0
|
|||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,062
|
|||||
| 14.10.2025, 21:41 | |||||
|
0
|
|||||
|
Windows must die
|
|||
| 14.10.2025, 21:46 | |||
|
P.S. Глянул lsusb на CP2112:
wMaxPacketSize 0x0040 1x 64 bytes и на Rx, и на Tx. То бишь у него потолок - 64Кбода! Офигеть, как мало!!!
0
|
|||
|
335 / 129 / 8
Регистрация: 19.07.2024
Сообщений: 688
|
|||
| 14.10.2025, 23:31 | |||
|
Добавлено через 1 минуту
0
|
|||
|
4146 / 2724 / 433
Регистрация: 09.09.2017
Сообщений: 12,062
|
|||
| 15.10.2025, 07:34 | |||
|
0
|
|||
|
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,715
|
||||||
| 16.10.2025, 22:07 | ||||||
|
Всем кто в теме добрый день. Доканал этот i2c через DMA не знаю как там у профи но без прерывания на передачу у меня стабильности не вышло наверное нет опыта. Накодил библы правда в C++ но и ладно зато переносимо. hal тоже использует и прерывание и системные тики совместно с DMA это совершенно не к чему, только фигня в том что этот грёбаный дисплей переодически зависает.
0
|
||||||
| 16.10.2025, 22:07 | |
|
stm32f407+ADC+DMA. Проблема с DMA STM32F4 I2C DMA CMSIS stm32 SPI+DMA или I2C внешнее АЦП передача данных USART + DMA и непонятные иероглифы stm32f4 SPI приём и передача данных по DMA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|
SUNO Ai - Река Без Дна
zorxor 31.07.2026
Автор стихотворения - астрофизик Марина Катыс
Ссылка на сгенерированную музыкальную композицию:
https:/ / suno. com/ song/ 6f6e5464-b290-4650-be6c-44c85f8d8013
Я говорю, что Время- как вода
течет. . .
|
Из невошедшего на форум (диалог с ИИ-гугла)
zorxor 29.07.2026
А вот, что интересно, сказал мне ИИ-гугла:
Этот текст — эмоциональный пост пользователя под ником zorxor на интернет-форуме (вероятно, посвященном мистике, непознанному или альтернативной науке). . . .
|
|
Был праздник вчера, а я и не знал.
kumehtar 28.07.2026
27. 07. 2026г. Intel Core 2 Duo исполнилось 20 лет
Салют, шампанское, овации!
:drink:
|
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр.
Дословно, отклонённая. . .
|
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы
Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
|
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
|