Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: stm32 UART
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
klen
обнаружил неприятность. сутью
использую два уарта, без прерываний по одинаковой схеме - DMA -> UART
1.запускаю приложение - все работает (оба uarta)
2. останавливаю отдадчиком
3. отпускаю
4. один работает другой мертво застревает (перестает принимать байты)

я сначала на dma грешил - плясал с бубном и тд. особо бесило то что оба уарта использую один тже код - а работают поразному.
в один прекрасный момент я принял аксиому что DMA нипричем - и стал ковырять uart

обратил внимание на то что тот который отваливается имеет постоянный долбеж со стороны другого устройства ему на RX
а тот который не отваливается этого не испытываетв изделии.

предположив что при останове отладчиком uart зависает если на него сыпать данные я сделал при каждом dma обмене переинициализацию uart - все заработало!!
имется в коде вызов DBGMCU_Config ( DBGMCU_CR_DBG_STOP | DBGMCU_STOP_PERIFERIALS , ENABLE) ;

что это может быть? что делать? переинициализация уата каждый раз - некошерно.
AHTOXA
Цитата(klen @ Aug 15 2011, 20:14) *
что делать? переинициализация уата каждый раз - некошерно.

Я б не парился. Окружите переинициализацию дефайнами навроде #ifdef DEBUG, отладьте и забудьтеsm.gif
brag
В STM32 куча всяких глюков в периферии, мне он показался самым глючным чипом изо всех, что я пробовал sm.gif
Мож в других глюков больше, но здесь они существенные
kan35
У меня был почти аналогичный случай, очень похоже, что у тебя то же самое, тут:
http://electronix.ru/forum/index.php?showtopic=93113
может поможет
klen
Цитата(kan35 @ Aug 16 2011, 00:02) *
У меня был почти аналогичный случай, очень похоже, что у тебя то же самое, тут:
http://electronix.ru/forum/index.php?showtopic=93113
может поможет

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