OpenEdv-开源电子网

 找回密码
 立即注册

扫一扫,访问微社区

正点原子新作:阿波罗STM32F767&F429&探索者STM32F4开发板&赶快来下载资料哦。

查看: 184|回复: 1

MSPF4358A ADC采样问题

[复制链接]

  离线 

21

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2016-11-27
在线时间
15 小时
发表于 2017-5-17 10:45:37 | 显示全部楼层 |阅读模式
正点原子公众号

//=================msp430f5438a ADC_13,单通道重复测量

//#include<msp430x54x.h>

#include<msp430.h>

#define Num_of_Results 8

unsigned int results[Num_of_Results];

unsigned int index=0;

void ADC_13_Config(void);

void main(void)

{

    WDTCTL=WDTPW+WDTHOLD;  

  ADC_13_Config( );


while(1)

  {

   while(!ADC12IFG13);

results[0]=ADC12MEM0;

  }

}

void ADC_13_Config(void)

{

  

P7SEL=0x20; //P7.5  A13端口输入   //P7.5 开启ADC功能

//REFCTL0|=REFMSTR+REFVSEL_2+REFON; //开启参考电压

ADC12CTL0&=~ADC12ENC;

ADC12CTL0=ADC12SHT0_15+ADC12SHT1_15+ADC12REF2_5V+ADC12REFON+ADC12ON;

ADC12CTL1=ADC12SHP+ADC12CONSEQ_2;             //单通道重复采样

ADC12CTL2|=ADC12TCOFF;

ADC12MCTL0=ADC12SREF_0+ADC12INCH_13;   //参考电压选择源电压

_NOP();

_NOP();

_NOP();

ADC12CTL0|=ADC12ENC;

ADC12CTL0=ADC12SC;  //开始采样

ADC12IE=BITD ;

_BIS_SR(GIE);

  

}


#pragma vector=ADC12_VECTOR

__interrupt void ADC12ISR(void)

{


results[index]=ADC12MEM0;          //保存结果

index=(index+1)%Num_of_Results;

if((Num_of_Results-1)==index)

   _NOP();

}
这些是我写的adc12采样程序,感觉配置adc模块相关寄存器都设置好了,但编译时在watch中始终看不到任何数据,只显示00;那位大神能知道问题在哪?

回复

使用道具 举报

  离线 

21

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
159
金钱
159
注册时间
2016-11-27
在线时间
15 小时
 楼主| 发表于 2017-5-17 13:03:11 | 显示全部楼层
问题已解决,是ADC12CTL0=ADC12SC;&nbsp;&nbsp;//开始采样该语句写法上有错误!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则




QQ|联系我们|手机版|官方淘宝店|新浪微博|微信公众平台|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2017-11-21 01:03

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表
/* */