|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
|
STM32F4 I2C DMA CMSIS26.08.2021, 13:13. Показов 8234. Ответов 12
Метки нет (Все метки)
0
|
|
| 26.08.2021, 13:13 | |
|
Ответы с готовыми решениями:
12
Usart Dma cmsis I2C CMSIS CMSIS и STM32F4 |
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
|||||||||||
| 09.09.2021, 09:55 [ТС] | |||||||||||
|
Не едет и всё, посмотрите кто делал.
Нет даже на старте зависает(
0
|
|||||||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
|
| 09.09.2021, 11:02 | |
|
навскидку, у Вас не включается I2C. Для него нужен клок, но и бит Enable тоже. Что касается алгоритма - учитывая Ваши сомнения - лучше взять готовое исполнение I2C не на CMSIS, а на HAL'е, и с него взять настройку регистров, трассируя код по вызываемым функциям.
0
|
|
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
|
| 09.09.2021, 17:06 [ТС] | |
|
Да настройку регистров и так взял с LL
Добавлено через 34 минуты На линии sda что то есть, scl молчит Добавлено через 3 часа 59 минут Использую I2C2 там такты идут
0
|
|
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
||||||
| 12.09.2021, 09:11 [ТС] | ||||||
|
Вроде как поехало, окончательный вариант скину
Кликните здесь для просмотра всего текста
0
|
||||||
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
||||||
| 12.09.2021, 15:43 [ТС] | ||||||
|
Всё работает затестил, ещё dma сюда постараюсь приматать
Кликните здесь для просмотра всего текста
0
|
||||||
|
87 / 86 / 4
Регистрация: 20.11.2016
Сообщений: 270
|
|||||||||||
| 12.09.2021, 22:01 | |||||||||||
|
Вот раскопал в моих старых набросках мой код для SPI, делал три года назад, соединял проводами два SPI на одной плате. Проект делал через CubeMX, код работал
Вариант для SPI MASTER, файл main.c
файл stm32f4xx_it
кажется ты совершаешь ошибку, пишешь процедуры передачи и чтения байта по I2C, а в случае DMA в этом нет необходимости прописывать эти процедуры. При использовании DMA достаточно указать ему адрес буфера, куда он будет принимать/передавать данные, размер буфера- количество передаваемых байтов и регистр данных соответствующей периферии например SPI1->DR, USART1->DR или, в твоем случае - I2C1->DR, и механизм DMA за тебя передаст эти данные) P.S: чтобы написать этот код я читал раздел про DMA в даташите RM0090.pdf по английски...
1
|
|||||||||||
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
||||||
| 14.09.2021, 07:11 [ТС] | ||||||
|
Radikal_78Cейчас приделаю dma.
0
|
||||||
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
|
| 15.09.2021, 11:31 [ТС] | |
|
Рассматриваю функцию HAL_I2C_Master_Transmit_DMA() в ней всё равно нужно прописывать I2C_CR1_START стартовый бит
0
|
|
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
||||||
| 16.09.2021, 07:32 [ТС] | ||||||
|
Блин толк от DMA с I2C будет только если использовать прерывания(
а так толку нет, всё равно приходиться ожидать окончание передачи и выключать передатчик Кликните здесь для просмотра всего текста
0
|
||||||
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
||||||
| 16.09.2021, 16:49 [ТС] | ||||||
|
Вот финальная версия затестил работает, старт, стоп к сожалению нужно самому прописывать, дма этого не может
Кликните здесь для просмотра всего текста
0
|
||||||
|
11 / 11 / 2
Регистрация: 15.08.2011
Сообщений: 456
|
||||||||||||||||
| 21.09.2021, 16:36 [ТС] | ||||||||||||||||
|
Датчики по i2c работают нормально, а вот с дисплеем проблемы, хотя этот код прекрасно работает на атмеле
Кликните здесь для просмотра всего текста
Добавлено через 27 минут Заработало, но почему вместо адреса 0x27 нужно указывать 0x4E Добавлено через 1 час 34 минуты типо на 1 бит сдвинуть влево Добавлено через 37 минут
финал релиз, код может кому пригодиться Кликните здесь для просмотра всего текста
0
|
||||||||||||||||
|
1983 / 1276 / 131
Регистрация: 04.01.2010
Сообщений: 4,607
|
||
| 22.09.2021, 07:46 | ||
|
0
|
||
| 22.09.2021, 07:46 | |
|
Помогаю со студенческими работами здесь
13
Stm32f4 cmsis stm32f1 cmsis PWM-ADC-DMA STM32F4 SDIO CMSIS stm32f4 cmsis шим STM32F4 USB CMSIS Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
|
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
|