[LINE-HEIGHT=22px][FACE=Helvetica, Arial, sans-serif][SIZE=14px]求msp430f2274使用内部AD读取正弦波的例程,最好能有读取波形然后存储在MEM中再原样输出的例程,谢谢,自己弄了一个星期了没出来[/SIZE][/FACE][/LINE-HEIGHT][P][LINE-HEIGHT=22px][FACE=Helvetica, Arial, sans-serif][SIZE=14px][LINE-HEIGHT=normal]unsigned int ad_value[];
void delay()
{
int i;
for(i=0;i<10;i++);
}
void main( void )
{
int i=0;
char ad=0;
// char ad_val_temp[100]={0};
WDTCTL=WDTPW+WDTHOLD; //关看门狗
BCSCTL1 =CALBC1_16MHZ; //设定DCO为16MHZ
DCOCTL =CALBC1_16MHZ;
P2SEL=0x01; //P2.0输入
P2DIR=0;
ADC10CTL0&=~ENC;//关闭转换
ADC10CTL0=REFON+REF2_5V+ADC10SHT_2+ADC10ON; //打开参考,2.5V,启动AD模块
ADC10CTL1=INCH_0+SHS_1+CONSEQ_2;//选通道0,AD启动信号来源选TA.OUT1,选单通道连续采样
ADC10CTL1=ADC10SSEL_3+ADC10DIV_0;//时钟源选SMCLK时钟并1分频
ADC10CTL0|= ENC+ADC10IE; //转换,中断使能
/*存波形*/
while(i<100)
{
delay();
ADC10CTL0|=ADC10SC;//开启转换
while((ADC10BUSY&ADC10IFG)==0)//等待转换完成
{
ad_value[i][LINE-HEIGHT=normal]=ADC10MEM;
i++;
ADC10CTL0|=ADC10IFG;
}
}
}[/LINE-HEIGHT][/i][/SIZE][/FACE][/LINE-HEIGHT][/LINE-HEIGHT][/P] |