Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-окт-21 08:16

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: del
СообщениеДобавлено: 2019-ноя-14 10:00 
Не в сети

Зарегистрирован: 2015-авг-13 16:17
Сообщения: 10
был глюк, при первой отправки dma

Открыть было
Timer -> DMA -> ADC ->DMA
Пытаюсь запустить АЦП по таймеру и считывать через DMA

Вроде все запускается и работает, но вместо последовательности на выходе: 1,2,3...19,20 - имею 20,3,4...19,20,[].
Не могу понять где косяк и как это может быть?
#define DMA_TIM_CH_CHRL 	DMA_CH_CTRL_WORD_TO_FIX|DMA_CH_CTRL_SIZE_WORD|(19UL<<DMA_CH_CTRL_N_M_1_Pos)|DMA_CH_CTRL_RPWR_1|DMA_CH_CTRL_CYCLE_MAIN
#define DMA_ADC_CH_CHRL	DMA_CH_CTRL_FIX_TO_HF_WORD|DMA_CH_CTRL_SIZE_HW_WORD|(19UL<<DMA_CH_CTRL_N_M_1_Pos)|DMA_CH_CTRL_RPWR_1|DMA_CH_CTRL_CYCLE_MAIN

unsigned int adc_1_cfg[20]=
	{
	(3UL<<ADC1_CFG_REG_CHS_Pos)|(4UL<<ADC1_CFG_DELAY_GO_Pos)|ADC1_CFG_REG_CLKS|ADC1_CFG_REG_ADON|ADC1_CFG_REG_GO,
	(3UL<<ADC1_CFG_REG_CHS_Pos)|(4UL<<ADC1_CFG_DELAY_GO_Pos)|ADC1_CFG_REG_CLKS|ADC1_CFG_REG_ADON|ADC1_CFG_REG_GO,
	....
	(1UL<<ADC1_CFG_REG_CHS_Pos)|(4UL<<ADC1_CFG_DELAY_GO_Pos)|ADC1_CFG_REG_CLKS|ADC1_CFG_REG_ADON|ADC1_CFG_REG_GO			
};

....
	//=======//Timer DMA ADC Init
	MDR_TIMER2->ARR=479;
	MDR_TIMER2->CCR1=66;
	MDR_TIMER2->CCR2=306;	
	MDR_TIMER2->CNT=0;
	MDR_TIMER2->CNTRL=TIMER_CNTRL_CNT_EN;
	MDR_TIMER2->CH1_CNTRL=TIMER_CH_CNTRL_PWM_OUT_UNDER;
	MDR_TIMER2->CH2_CNTRL=TIMER_CH_CNTRL_PWM_OUT_UNDER;
	MDR_TIMER2->DMA_RE=TIMER_DMA_RE_CCR_REF_CH1|TIMER_DMA_RE_CCR_REF_CH2;
	//=======//DMA ADC Init	
	MDR_DMA->CFG=DMA_CFG_MASTER_ENABLE;
	DMA_TIM2->SourceEndAddr=(unsigned int)&adc_1_cfg[19];
	DMA_TIM2->DestEndAddr=(unsigned int)&MDR_ADC->ADC1_CFG;
	DMA_TIM2->Control=DMA_TIM_CH_CHRL;	
	DMA_ADC1->SourceEndAddr=(unsigned int)&MDR_ADC->ADC1_RESULT;
	DMA_ADC1->DestEndAddr=(unsigned int)&adc1_data[19];
	DMA_ADC1->Control=DMA_ADC_CH_CHRL;
	MDR_DMA->CHNL_ENABLE_SET=DMA_Ch_ADC1_bit|DMA_Ch_TIM2_bit;
...
Закрыть


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя


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

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB