Discuz! Board
标题:
关于ADC采集问题
[打印本页]
作者:
北溟鱼
时间:
2014-8-16 10:41
标题:
关于ADC采集问题
我在定时器里触发AD采集,在串口里打印出采集数据,结果串口采集的数据都是一个值,求大神帮助AD初始化
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC0); // 使能ADC模块
SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC1);
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOE); //
GPIOPinTypeADC(GPIO_PORTE_BASE, GPIO_PIN_2|GPIO_PIN_3);
ADCSequenceDisable(ADC0_BASE, 0); // 配置前先禁止采样序列
// 采样序列配置:ADC基址,采样序列编号,触发事件,采样优先级
ADCSequenceConfigure(ADC0_BASE, 0, ADC_TRIGGER_PROCESSOR, 0);
// 采样步进设置:ADC基址,采样序列编号,步值,通道设置
ADCSequenceStepConfigure(ADC0_BASE, 0, 0, ADC_CTL_D | // 差分输入采样
ADC_CTL_CH0 | // 差分通道1:ADC2和ADC3
ADC_CTL_END |
ADC_CTL_IE);
ADCSequenceEnable(ADC0_BASE, 0); // 使能采样序列
定时器中断程序
IntMasterDisable(); //关闭外部中断,不进行中断嵌套
uint32_t ADC_Vaule;
Pit_Cnt++;
if( Pit_Cnt>=500)
Pit_Cnt=0;
ROM_TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);//清除中断标志位
ROM_TimerLoadSet(TIMER0_BASE, TIMER_A, ROM_SysCtlClockGet());//重新装载定时器时间
if( !(Pit_Cnt%2))
ADCSequenceDataGet(ADC0_BASE, 3, &ADC_Vaule);
else
ADCProcessorTrigger(ADC0_BASE, 3);
UARTprintf("AD_Vaule =%d \n",&ADC_Vaule);
IntMasterEnable(); //开启外部中断
作者:
北溟鱼
时间:
2014-8-16 10:42
串口打印出的数据
AD_Vaule =536871360;
作者:
北溟鱼
时间:
2014-8-16 13:29
只要是在定时中断里触发AD采集或者读AD采集值,都会使串口失效
作者:
admin
时间:
2014-8-16 20:26
北溟鱼 发表于 2014-8-16 13:29
只要是在定时中断里触发AD采集或者读AD采集值,都会使串口失效
你在线跟踪下再哪里死掉了没有?
欢迎光临 Discuz! Board (http://qfv8.com/)
Powered by Discuz! X3