你好!!
我们使能了开发板上的GPIO作为ADC的digital comparator来使用
我们选择了 hysteris always mode,high band operation, 上限60mV ,下限40mV(避免掉我们输入讯号造成 false trigger 的问题)
当输入讯号超过60mV就让他中断并设计一计数器让它记录中断的次数
问题在于如何在code中加入这一个中断和计数器?
下面是我们的CODE (ulLowRef, ulHighRef 是上下限电压值我们还在调整)
//=====================================================
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);
GPIOPinTypeADC(GPIO_PORTD_BASE, GPIO_PIN_6);
ADCSequenceConfigure(ADC1_BASE, 1, ADC_TRIGGER_COM1, 0);
ADCComparatorConfigure(ADC1_BASE, 1, ADC_COMP_TRIG_HIGH_HALWAYS);
ADCComparatorRegionSet(ADC1_BASE, 1, ulLowRef, ulHighRef);
ADCSequenceStepConfigure(ADC1_BASE, 1, 0, ADC_CTL_CH5| ADC_CTL_IE | ADC_CTL_END);
ADCSequenceEnable(ADC1_BASE, 1);
ADCIntClear(ADC1_BASE, 1);
while(1) {
ADCProcessorTrigger(ADC1_BASE, 1);
while(!ADCIntStatus(ADC1_BASE,1, false));
ADCSequenceDataGet(ADC1_BASE,1, ulADC1_Value); }
//=====================================================