Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Микроконтроллеры других производителей

Микроконтроллеры других производителей Все, что касается микроконтроллеров и НЕ подошло в раздел Microchip.

Ответ
 
Опции темы Опции просмотра
Старый 25.08.2017, 21:33   #1
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 46
Сообщений: 1,699
Вес репутации: 1677/68
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию STM32. Вопрос по отладке

Всем привет!
Вопрос по отладке. Плата дискаверка c STM32F100RB, проект в Keil-е, все работает, но есть недопонимание процесса.

Как работает. TIM2 генерит импульсы с периодом 100 мс. Измеряется период этих импульсов - для этого TIM4_CH3 работает в режиме захвата. По захвату от TIM4 идет запрос в DMA1_Channel5. DMA кладет два значения в память и по окончанию их передачи делает прерывание. В прерывании вычисляется расстояние между двумя значениями - видны ожидаемые 100 мс. DMA работает в цикле. Т.е. "захват-DMA-память-захват-DMA-память-прерывание-захват-DMA-память-захват-DMA-память-прерывание.....".

В отладке в прерывании DMA по брекпоинту смотрю два захваченных значения - разница между ними как положено 100 мс. Делаю еще один запуск отладчика - снова попадаю в прерывание DMA - смотрю два захваченных значения - разница между ними как положено 100 мс, НО!!! вижу что между предыдущей парой значений и текущей никак не получается 100 мс, а больше и всегда разные и т.д. от брека до брейка. При этом вставляю в это же прерывание триггер на переключение PC9, запускаю без брейка и осциллографом вижу четкие импульсы с периодом 400 мс, как и ожидалось.

Вопрос! Там что пока стоим на бреке таймер продолжает тикать????
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 26.08.2017, 10:50   #2
HHIMERA
Senior Member
 
Регистрация: 10.06.2008
Возраст: 56
Сообщений: 2,727
Вес репутации: 3742/99
HHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond reputeHHIMERA has a reputation beyond repute
По умолчанию Re: STM32. Вопрос по отладке

Цитата:
Сообщение от petrd Посмотреть сообщение
Там что пока стоим на бреке таймер продолжает тикать????
И тикает... и проскакивает... и затыкаться ещё может...
Все хардварные решения такого уровня отладчиком не отлаживаются... и это как бы уже давно не новость...
Тестовые пины и логанализатор в помощь... Да... непривычно по началу... но другого выхода нет... у вас всё по сути работает асинхронно...
__________________
"Я не даю готовых решений, я заставляю думать!"(С)
HHIMERA вне форума   Ответить с цитированием
Старый 26.08.2017, 12:27   #3
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 46
Сообщений: 1,699
Вес репутации: 1677/68
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: STM32. Вопрос по отладке

Цитата:
Сообщение от HHIMERA Посмотреть сообщение
И тикает... и проскакивает... и затыкаться ещё может...
Может быть, но пока не согласен. Изучение RM и файла stm32f10x.h дало такое решение:
Код:
DBGMCUEN->CR |= DBGMCU_CR_DBG_TIM4_STOP; // TIM4 counter stopped when core is halted
Но в железе смогу убедиться только после выходных.
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Старый 27.08.2017, 06:29   #4
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: M.O.
Возраст: 58
Сообщений: 2,128
Вес репутации: 2724/86
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: STM32. Вопрос по отладке

Так и есть. Отладка может быть с прекращением тактирования только ядра, а может и периферию "замораживать".
Марк вне форума   Ответить с цитированием
Старый 28.08.2017, 11:41   #5
petrd
Senior Member
 
Регистрация: 09.02.2008
Адрес: Воронеж
Возраст: 46
Сообщений: 1,699
Вес репутации: 1677/68
petrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant futurepetrd has a brilliant future
Отправить сообщение для petrd с помощью ICQ
По умолчанию Re: STM32. Вопрос по отладке

Цитата:
Сообщение от petrd Посмотреть сообщение
Но в железе смогу убедиться только после выходных.
Проверил. Все работает правильно, только на рабочем компьютере другая версия stm32f10x.h оказалась, а там надо писать чуть иначе:
Код:
DBGMCU->CR |= DBGMCU_CR_DBG_TIM4_STOP; // TIM4 counter stopped when core is halted
DBGMCU->CR |= DBGMCU_CR_DBG_TIM2_STOP; // TIM2 counter stopped when core is halted
__________________
License MikroC, MikroC PRO and EasyPIC5 by mikroElektronika (the dead mikroICD replaced PICKit2 & PICKit3)
petrd вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по прерываниям RB7-RB4 KSB31 Продукция MICROCHIP 4 15.08.2010 23:53
Вопрос по Altium Designer Iptash Печатный монтаж 2 14.09.2008 14:57
вопрос по PICC EXT_INT Вопросы начинающих 13 26.08.2008 07:53
Вопрос по отладке в MPLAB 8.14 MonstroNB Вопросы начинающих 2 14.08.2008 16:12
Вопрос новичка по Си ramonchik Продукция MICROCHIP 3 05.03.2007 16:28


Часовой пояс GMT +3, время: 17:54.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd. Перевод: zCarot