ADC中断
一、相关函数介绍
ADCIntRegister()
和ADCIntUnregister()
用于为ADC中断注册(注销)一个中断函数
ADCIntEnable()
和 ADCIntDisable
使能(失能)一个采样序列中断
ADCIntClear()
清除采样序列中断源
ADCIntStatus()
获取当前中断状态
二、怎样触发中断
在配置采样通道的时候,如果参数设置有 ADC_CTL_IE
那么当这个通道采集完之后就会产生一个中断。
三、例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| void configureADC(){ SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_3);
ADCSequenceConfigure(ADC0_BASE, 0, ADC_TRIGGER_PROCESSOR, 0); ADCSequenceStepConfigure(ADC0_BASE, 0, 0,ADC_CTL_IE | ADC_CTL_END | ADC_CTL_CH0); ADCSequenceEnable(ADC0_BASE, 0);
ADCIntRegister(ADC0_BASE, 0 , convet); ADCIntEnable(ADC0_BASE, 0); return ; }
|
四、注意
在写中断函数的时候记得清除中断标记,因为清除中断需要几个时钟周期,所以,我们需要在中断函数一开始就清除中断。