Портал для радиолюбителей и разработчиков электроники · с 2003 годаРеклама на сайте
Найти компонент, схему или даташит

Даташиты, справочник отечественных приборов, схемы с разбором и живой форум


Ответ
Опции темы

Keil 5.23 отладка вопрос новичка

Непрочитано 11.05.2018, 18:19   #1
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Keil 5.23 отладка вопрос новичка

main.c
Код:
HAL_ADC_Start(&hadc2);		
HAL_ADCEx_MultiModeStart_DMA(&hadc1, (uint32_t*)&ADC_Data, 256);
DMA2_Stream0-›CR &= ~(DMA_SxCR_HTIE|~DMA_SxCR_TCIE);		//отключить прерывания	половины и окончания передачи
 /* USER CODE END 2 */

 /* Infinite loop */
 /* USER CODE BEGIN WHILE */
 while (1)
{

 /* USER CODE END WHILE */

/* USER CODE BEGIN 3 */
    while(DMA_LISR_TCIF0==0) {};//ожидание окончания передачи данных из ADC
    DMA2-›LIFCR |= DMA_LIFCR_CTCIF0|DMA_LIFCR_CHTIF0;	//очистить флаг окончания обмена и половины обмена
		
//распаковать ADC_Data
for(i=0;i‹256;i++)
{
    DataBuf[j] = ADC_Data[i];
    j++;
    DataBuf[j] = ADC_Data[i] ›› 8;
    j++;
    ADC_Data[i] = 0;
}
//синхронизация по переднему фронту
и т.д.
При отладке не получается установить курсор на строчку
while(DMA_LISR_TCIF0==0) {};//ожидание окончания передачи
Т.е. курсор устанавливается в окне с кодом, но клавиша "Выполнить до курсора" не активна.
Что я делаю не так - пните плиз
Реклама:
фёдорыч вне форума   Ответить с цитированием
Непрочитано 11.05.2018, 18:48   #2
STM32F0
Заблокирован
 
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
STM32F0 на пути к лучшему
По умолчанию Re: Keil 5.23 отладка вопрос новичка

Да по большому счёту - все не так.
Если хотите уж так сильно брякнуться, ставьте пару НОПов до или после и брякайтесь. Брякаться на цикле и смысла нет никакого. Кроме того можете получить набор чудес из-за того что тормозится только ядро, а периферия нет.
Получите не тот результат.
Получите бит ошибки.
Зависните наглухо в цикле.
Выпадите по какому-то исключению.
Дальнейшая работа МК просто сломается.
Да и ваще, подобные циклы чреваты, можно в них остаться навечно, из-за сбоя или ошибки.
STM32F0 вне форума   Ответить с цитированием
Сказали "Спасибо" STM32F0
фёдорыч (11.05.2018)
Непрочитано 11.05.2018, 19:11   #3
фёдорыч
Временная регистрация
 
Регистрация: 20.05.2015
Адрес: Бишкек, Киргизия
Сообщений: 59
Сказал спасибо: 22
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
фёдорыч на пути к лучшему
По умолчанию Re: Keil 5.23 отладка вопрос новичка

Я сейчас копаю ADC DualInterleaved Mode.
Хочу попробовать разогнать в этом режиме до 20Msps. Одиночный ADC до 10Msps разогнал.
В двойном режиме после этой проверки нужно выключить разгон (вернуть родные 168 MHz SysClock), обработать полученные данные, снова включить разгон и в начало цикла получения данных.
фёдорыч вне форума   Ответить с цитированием
Ответ


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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос новичка. IAR C, AVR & interrupt sns13 Микроконтроллеры, АЦП, память и т.д 5 18.03.2008 18:08
вопрос новичка miviff Делимся опытом 14 04.10.2007 18:26
Вопрос по Keil uVision lom771 Микроконтроллеры, АЦП, память и т.д 4 30.08.2006 13:38
Вопрос к знатокам Keil mVision2. 011119xx Микроконтроллеры, АЦП, память и т.д 8 07.08.2006 09:02
Вопрос к знатокам Си от Keil C51. 011119xx Proteus, KiCAD и другие ECAD 1 29.07.2005 00:56


Часовой пояс GMT +4, время: 18:18.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.