Страница 1 из 1

Не могу настроить АЦП по событию

Добавлено: Ср янв 17, 2018 18:25:20
fulky
Камень STM32f103
хочу начать преобразование по событию Timer 1 CC1 event. Ножка PA1. Не пойму как настроить таймер1 чтоб отправлялось событие на АЦП. Однократную конверсию настроил легко. По событию не получается. хелп.

Код: Выделить всё

	RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; 		
	RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;			
	RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;			
	
	GPIOA->CRL &= ~GPIO_CRL_CNF1;						//PA1 AI
	GPIOA->CRL &= ~GPIO_CRL_MODE1;					
	
	RCC->CFGR |= RCC_CFGR_ADCPRE_DIV6; 	 		//72/6=12MHz < 14MHz 
	
  ADC1->CR2 |= ADC_CR2_CAL;  							//calibration
	while (!(ADC1->CR2 & ADC_CR2_CAL));

//	ADC1->CR2 |= ADC_CR2_CONT;						//Continuous conversion mode
	ADC1->CR2 &= ~ADC_CR2_EXTSEL_2;					//TIM1_CC1 event
	ADC1->CR2 |= ADC_CR2_EXTTRIG;						//Conversion on external event enabled
	ADC1->CR2 |= ADC_CR2_ADON; 							//A/D Converter ON / OFF
	ADC1->SMPR2 |= ADC_SMPR2_SMP0;					//PA1 ADC1 ch1  (111: 239.5 cycles)
	ADC1->SQR3 |=ADC_SQR3_SQ1_0;						//SQ1 - 1ch
	
	RCC->APB2ENR|=RCC_APB2ENR_TIM1EN; 			// 
	TIM1->PSC=7200-1;												// 10000
	TIM1->ARR=400;													// 0,04
	TIM1->CCR1=400;
	TIM1->CR2 |= TIM_CR2_MMS_1;							//
	TIM1->CR1|=TIM_CR1_CEN;

Re: Не могу настроить АЦП по событию

Добавлено: Ср янв 17, 2018 19:33:41
dosikus
Хоть сэмплирования и по таймеру но первый старт вручную...

Re: Не могу настроить АЦП по событию

Добавлено: Чт янв 18, 2018 10:32:17
fulky
[uquote="dosikus",url="/forum/viewtopic.php?p=3285818#p3285818"]Хоть сэмплирования и по таймеру но первый старт вручную...[/uquote]
т.е. старт преобразования вручную? нужно прописывать единожды ADC1->CR2 |=ADC_CR2_SWSTART;?

Re: Не могу настроить АЦП по событию

Добавлено: Чт янв 18, 2018 15:13:21
dosikus
Давно бы запустил уже...