Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32. DMA, арбитраж и приоритеты.
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Danis
Привет, спецы!

Использую DMA в STM32 но еще не разобрался во всех тонкостях.

Вот такая задача у меня.
Имеется STM32 в котором SPI1_Rx посажена на DMA1 канал 2,
SPI2_Tx посажена на DMA1 канал 5. По SPI2_Tx передается некий буфер и его времянка должна выдерживаться точно, т.к. у меня данные SPI2_Tx четко синхронизированы с еще одним неким импульсом, исходящим от таймера 1, поэтому для DMA1 канал 5 я выставил самый высокий приоритет. Через SPI1_Rx я принимаю буфер от внешнего контроллера, который (буфер) иногда «ломается». Верно ли мое предположение, что это может быть связано с приемом SPI1_Rx в тот момент, когда передает SPI2_Tx?

частота SPI1 - 10Mbit. Расстояние между контроллерами 1 см. Осциллограмма для данных и синхронизации - четкая.
ISK2010
Ты таймер3 используешь?
Danis
Цитата(ISK2010 @ Dec 7 2010, 09:02) *
Ты таймер3 используешь?

да, он у меня в режиме TIM_OCMode_PWM1 работает.
ISK2010
Проверь чтоб точно первый канал третьего таймера на ногу SPI1 MISO ничего не присылал. Для этого настрой ногу SPI1 MISO как gpio input.

Я только предпогаю, у меня похожее было. Первый таймер после инициализации первого канала выходом канала 1N гадил в SPI1 MOSI, причем не всегда, 1 раз из пяти. Вылечил выключением выхода 1N.

Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.