ADC的问题,不知道是不是9B96的问题还是我程序的问题。
void adc1Init(void)
{
// SysCtlPeripheralEnable(GPIO_PORTB_BASE);
//GPIOPinTypeADC(GPIO_PORTB_BASE,GPIO_PIN_4 );
ADCSequenceDisable(ADC1_BASE,3); // 配置前先禁止采样序列
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1); // 使能ADC模块
SysCtlADCSpeedSet(SYSCTL_ADCSPEED_1MSPS); // 设置ADC采样速率
// 采样序列配置:ADC基址,采样序列编号,触发事件,采样优先级
ADCSequenceConfigure(ADC1_BASE, 0, ADC_TRIGGER_PROCESSOR, 1);
// 采样步进设置:ADC基址,采样序列编号,步值,通道设置
ADCSequenceStepConfigure(ADC1_BASE, 3, 0, ADC_CTL_TS |
ADC_CTL_END |
ADC_CTL_IE ) ;
ADCReferenceSet(ADC1_BASE,ADC_REF_INT);
ADCResolutionSet(ADC1_BASE,ADC_RES_10BIT) ;
ADCIntClear(ADC1_BASE, 3);
ADCSequenceEnable(ADC1_BASE, 3); // 使能采样序列
ADCIntEnable(ADC1_BASE, 3); // 使能ADC中断
IntEnable(INT_ADC1SS3) ; // 使能ADC采样序列中断
IntMasterEnable() ; // 使能处理器中断
}
在DKLM3S9B96上跑的。换ADC0就能工作,换ADC1就不能工作。调用这个初始化函数,程序就会死在里面。何解?中断向量也注册了