使用TI官方的Tiva™ C Series TM4C129X 开发板,做程序开发时,用ADC1模块配置成sigle-end方式采集时,发现始终无法进入中断,而同样的代码,修改基地址和中断向量表项后,应用于ADC0模块时却可以正常工作,请问这是什么原因,使用ADC1时还需要特殊配置么?
xyz549040622:
奇怪,不应该呀,是不是ADC1的引脚用作特殊功能了呢?用的是哪个芯片呢?
Wang Zenglong1:
回复 xyz549040622:
使用的是Tiva™C系列TM4C129x连接开发套件,具体芯片的型号是:TM4C129NCPDT,大虾你使用过这款芯片的ADC1模块没有?
Wang Zenglong1:
我的ADC1模块配置代码如下:
void ADC1IntHandler(void)
{
//中断处理代码
……………………………
}
void ADC1Init(void)
{
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE);
GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_1);
ADCSequenceConfigure(ADC1_BASE, 0, ADC_TRIGGER_PROCESSOR, 0);
ADCSequenceStepConfigure(ADC1_BASE, 0, 0, ADC_CTL_CH2 | ADC_CTL_IE | ADC_CTL_END);
IntEnable(INT_ADC1SS0_BLIIARD);
ADCIntEnable(ADC1_BASE,0);
ADCSequenceEnable(ADC1_BASE,0);
}
int main()
{
//设置系统时钟
……….
//初始化ADC1
ADC1Init();
//开总中断
IntMasterEnable();
//触发ADC工作
ADCProcessorTrigger(ADC1_BASE, 0);
…………………………………………….
}
xyz549040622:
回复 Wang Zenglong1:
TM4C129NCPDT,关键的型号没了。全程应该是TM4C129xNCPDT,你没有给x的值是多少。看了几个版本的数据手册,ADC1应该是PE2脚,你设置的是PE1脚,能读出才怪呢