|
-26 / 4 / 0
Регистрация: 26.09.2024
Сообщений: 128
|
||||||
Передача данных по i2c через DMA STM32F401CUE608.10.2025, 13:46. Показов 4937. Ответов 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,878
|
||
| 14.10.2025, 18:06 | ||
|
есть еще и MOSI Master Output Slave Input мастер выдает данные MISO Maser Input Slave Output мастер принимает данные т.е используется два провода на вход и выход а в I2C один провод и на прием и на передачу
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
||||
| 14.10.2025, 18:33 | ||||
|
0
|
||||
|
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 862
|
|||
| 14.10.2025, 18:43 | |||
|
0
|
|||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,878
|
|
| 14.10.2025, 19:02 | |
|
0
|
|
|
|
||
| 14.10.2025, 19:26 | ||
|
Говорил я больше про практику разработчика: одно на основании другого понимается просто. Ну выразил мысль немного не так, что теперь - на 3 страницы будем это обсуждать? Извините, разучился доходчиво пояснять..
0
|
||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
||||||
| 14.10.2025, 20:42 | ||||||
|
Вот только SPI или UART это именно интерфейсы, а I2C или USB - скорее протоколы.
0
|
||||||
|
|
|
| 14.10.2025, 21:06 | |
|
COKPOWEHEU, ну да, у всех своя голова и понимание, согласен.
Я, между прочим, первым как раз I2C освоил, а уж потом SPI и подобные. Даже лепил некий "симбиоз", т.к. очень подходили фишки i2c, типа арбитража и т.п., но не хватало аварийного железного сброса шины (всех мастеров и зависших слэйвов).. Мне честно кажется(?), что тот кто освоил что-то из одного, то и с другим должен разобраться. Не велика наука. В SPI тоже не все сразу втыкают в разность фаз сигналов и долго думают - почему не робит... Т.е. для кого и просто, а для кого труба..
0
|
|
|
Нарушитель
|
|||
| 14.10.2025, 21:37 | |||
|
Добавлено через 3 минуты Ну или вот столкнулся с датчиком SHT3x: в даташите написано, что после того, как он ACK на чтение ответит, считывай себе 6 байт данных и обрабатывай. Даже во всяких чужих кодах на просторах интернетов и в коде линуксового кернельного модуля так. А вот хрен: если тупо считать эти 6 байт и больше ничего не делать, он "уходит в себя" и перестает отвечать ACK на свой адрес. "Методом тыка" установил, что достаточно хоть какое-то обращение к нему сделать (например, сбросить регистр статуса), и все хорошо. В общем, зачастую на платах с I2C'шными железяками я устанавливаю их питание через p-канальный мосфет, который можно, дрыгнув ногой, МК, отключить на несколько миллисекунд (если "там" много кондеров, лучше даже на 1 секунду для надежности), а потом опять включить. И подтяжки SDA/SCL обязательно уже после него делать, т.к. некоторым паразитам хватает питания через резисторы подтяжки (правда, я редко ставлю 4.7к - только если на шине исключительно одно устройство и скорость низкая, обычно подтяжки от 1к и даже до 333 Ом)!
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
|||||
| 14.10.2025, 21:41 | |||||
|
0
|
|||||
|
Нарушитель
|
|||
| 14.10.2025, 21:46 | |||
|
P.S. Глянул lsusb на CP2112:
wMaxPacketSize 0x0040 1x 64 bytes и на Rx, и на Tx. То бишь у него потолок - 64Кбода! Офигеть, как мало!!!
0
|
|||
|
352 / 150 / 10
Регистрация: 19.07.2024
Сообщений: 862
|
|||
| 14.10.2025, 23:31 | |||
|
Добавлено через 1 минуту
0
|
|||
|
4150 / 2728 / 433
Регистрация: 09.09.2017
Сообщений: 12,097
|
|||
| 15.10.2025, 07:34 | |||
|
0
|
|||
|
62 / 187 / 31
Регистрация: 14.02.2013
Сообщений: 1,719
|
||||||
| 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 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С.
Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
|
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию?
Фраза «Любая достаточно развитая технология неотличима от магии». . .
|
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль?
Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
|
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология.
«Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
|
|
Генератор паролей (вариант №2)
Maks 30.10.2026
Обновленная версия ранее созданной обработки.
Добавлены следующие реквизиты типа Булево:
- Буквы;
- Цифры;
- Символы.
Изменена логика команды "Сгенерировать" и процедуры "ПриОткрытии":. . .
|
Генератор паролей (вариант №1)
Maks 29.10.2026
Реализация из решения ниже выполнена исключительно по моей инициативе, дабы облегчить себе работу в создании паролей для администрируемых мною сервисов и пользователей.
Самым главным критерием для. . .
|
Установка ChatGPT (Codex) на Windows без использования Microsoft Store
Fabien159 28.10.2026
Здравствуйте всем читающим! Опишу процесс установки ChatGPT (Codex) на Windows, если по каким-то причинам у вас не получается устанавить его через Microsoft Store.
И так:
1. Скачиваем с. . .
|
Программное добавление префикса в нумерацию документов
Maks 27.10.2026
Реализация из решения ниже выполнена в самописной конфигурации на БСП (помощь начинающему коллеге).
Задача:
Программно добавить префикс в нумерацию документов.
Решение:
В модуле объекта. . .
|