LM3S9b92里面ADC的初学例程,帮看下哪不对呢

2019-03-24 16:22发布

#include "inc/hw_types.h"
#include "inc/hw_memmap.h"
#include "driverlib/adc.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"
int main(void)
{ unsigned long ulValue=1000;
    SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);//设置时钟频率为16M
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);  //使能PF口
    SysCtlPeripheralEnable(SYSCTL_PERIPH_ADC);    //使能ADC
 GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_2);     //  设置PF2口为输出模式   ADCSequenceConfigure(ADC_BASE,0,ADC_TRIGGER_PROCESSOR,0);//配置ADC,基准源是处理器发生
  ADCSequenceStepConfigure(ADC_BASE,0,0,ADC_CTL_IE|ADC_CTL_END|ADC_CTL_CH5);//配置ADC,通道5采样
  ADCSequenceEnable(ADC_BASE,0);  //使能采样
  while(1)
  {  
  ADCProcessorTrigger(ADC_BASE,0);//开始采样
  while(!ADCIntStatus(ADC_BASE,0,false));//等待采样状态为结束。
  ADCSequenceDataGet(ADC_BASE,0,&ulValue)  ;  //获取采样值
  if(ulValue<500) //判断采样值,控制led等亮灭
   {GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0x04);
   }
   else {GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_2,0);
    
   }      }
} 未命名1.jpg [ 本帖最后由 慢慢来 于 2011-2-15 11:44 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
14条回答
慢慢来
1楼-- · 2019-03-24 23:01
我用的PB4作为输入模拟信号通道,得到的ulValue老是0
rdh134
2楼-- · 2019-03-25 01:34
 精彩回答 2  元偷偷看……
慢慢来
3楼-- · 2019-03-25 03:40
这个也用配置吗?好像选择了通道就把PB4作为默认ADC功能了吧
ddllxxrr
4楼-- · 2019-03-25 04:47
用的,就是配置下输入输出,多少HZ的,再使能一下端口时钟
慢慢来
5楼-- · 2019-03-25 08:20
 精彩回答 2  元偷偷看……
academic
6楼-- · 2019-03-25 09:03
SysCtlClockSet(SYSCTL_SYSDIV_5 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);
这个将时钟频率设为40MHz会不会有什么问题呢?

一周热门 更多>

相关问题

    相关文章