unsigned long ulValue[1];
/************************************************************************/ void ADC1_Init(void)
{ SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); // 使能adc所在的GPIO端口
ADCHardwareOversampleConfigure(ADC_BASE, 64);
// 硬件过采样配置
ADCSequenceConfigure(ADC_BASE,1,ADC_TRIGGER_PROCESSOR,0); SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC); // 使能ADC模块
SysCtlADCSpeedSet(SYSCTL_ADCSPEED_125KSPS); // 设置ADC采样速率 ADCSequenceDisable(ADC_BASE, 1);
// 配置前先禁止采样序列1
//配置ADC采样序列的触发事件和优先级:ADC基址,采样序列编号,触发事件,采样
优先级 ADCSequenceStepConfigure(ADC_BASE,1,0,ADC_CTL_END | ADC_CTL_CH1 | ADC_CTL_IE); }
/************************************************************************/ unsigned long ADC1_Sample(void) // ADC采样 {
unsigned long ulValue;
ADCProcessorTrigger(ADC_BASE,1); // 处理器触发采样序,调用ADCProcessorTrigger( )函
// 等待采样结束
//配置ADC采样序列发生器的步进:ADC基址,采样序列编号,步值,通道设置 ADCIntEnable(ADC_BASE,1); // 使能ADC采样序列1的中断 IntEnable(INT_ADC1); IntMasterEnable();
// 使能ADC采样序列1中断
// 使能处理器中断
//使能一个ADC采样序列1
ADCSequenceEnable(ADC_BASE,1);
数触发ADC采样 while (!ADC_EndFlag); }
ADC_EndFlag = 0; // 清除ADC采样结束标志
ADCSequenceDataGet(ADC_BASE, 1, &ulValue); // 读取ADC转换结果 return(ulValue);
/************************************************************************/ void ADC_Sequence_1_ISR(void) // ADC采样序列3的中断函数 {
unsigned long ulStatus;
ulStatus = ADCIntStatus(ADC_BASE, 1, true);
// 读取中断状态
}
ADCIntClear(ADC_BASE, 1); // 清除中断状态,重要,等待下次AD中断 if (ulStatus != 0) // 如果中断状态有效 { ADC_EndFlag = 1; // 置位ADC采样结束标志 }
/************************************************************************/ void Test_ADC1(void) { }
unsigned long ulVal,ulTmp; ADC1_Init(); LCD1602_Init(); while(1) { }
ulVal=ADC1_Sample();
ulTmp = (ulVal * 3000)/1024; // 转换成电压值
sprintf(cBuf, \"ADC1 = %ld(mV)\ // 输出格式化 LCD1602_Write_String(0,0,\" ADC1_Sample \"); LCD1602_Write_String(1,1,cBuf);
Uart0_putstring(cBuf); // 通过UART显示结果 SysCtlDelay(TheSysClock/3);
Uart0_putstring(\"http://liuliu408.taobao.com\\n\"); Uart0_putstring(\"UTAT0 active\\n\"); SysCtlDelay(TheSysClock/3);
charcBuf[16];
/************************************************************************/
因篇幅问题不能全部显示,请点此查看更多更全内容