embeded/freeRTOS

lm3s811 freeRTOS ADC...

구차니 2015. 11. 16. 16:45

ADC 은근 공부할게 많네.. 멘붕중


freeRTOS쪽 예제에 레지스터 맵이 잘못되서 EVK랑 교차비교해서 쑈함 -_-

#define SYSCTL_PERIPH_ADC0      0x00100001  // ADC0

#define SYSCTL_PERIPH_ADC1      0x00100002  // ADC1


#define ADC0_BASE               0x40038000  // ADC0

#define ADC1_BASE               0x40039000  // ADC1


초기화

/* Thumb wheel */

SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);

ADCSequenceConfigure(ADC0_BASE, 3, ADC_TRIGGER_PROCESSOR, 0);

ADCSequenceStepConfigure(ADC0_BASE, 3, 0, ADC_CTL_CH0 | ADC_CTL_IE | ADC_CTL_END);

ADCSequenceEnable(ADC0_BASE, 3);

ADCIntClear(ADC0_BASE, 3);

IntEnable(INT_ADC0);



읽기

ADCProcessorTrigger(ADC0_BASE, 3);

while(!ADCIntStatus(ADC0_BASE, 3, false))

{

}

ADCSequenceDataGet(ADC0_BASE, 3, (unsigned long *)ulADC0_Value); 


이런... processortrigger로 읽도록 해놓고 딴걸로 설정했으니 안되지 ㅠㅠ