完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我想测试一下MAP430F149的adc12采样速率,测出来大概在168KHZ左右,后来又测了一遍,变成了285Khz。但是改变SHT的时候采样速率都没有变化。想请教各位大神原因在哪。程序如下:
#include unsigned int adctimerFlowCnt; unsigned int adcResults[Num_of_Results]; unsigned int adcConvTime; unsigned int flag; void int_clk(void) { unsigned char i; BCSCTL1&= ~XT2OFF; BCSCTL2 |=SELM1; //MCLK为8M BCSCTL2 |=SELS + DIVS_3; //SMCLK为1M do { IFG1 &= ~OFIFG; for(i = 0; i< 100; i++) _NOP(); } while((IFG1 & OFIFG)!= 0); IFG1 &= ~OFIFG; } void int_adc() { P6SEL |= 0X01; ADC12CTL0 = ADC12ON + SHT0_2+REFON+REF2_5V+MSC; //AD采样转换时间为16倍 ADC12CTL1 = SHP; //设置采样定时器 ADC12CTL1 |= ADC12SSEL_3; //设置转换时钟 ADC12CTL1 |= CONSEQ_2; //单通道多次采样 ADC12MCTL0 |= INCH_0; //A0输出 ADC12IE = 0X01; //中断允许 ADC12CTL0 |= ENC; } void int_timer(void) { TACTL = TASSEL_2; //时钟为SMCLK TACTL |= ID_0; //不分频 TACTL |= MC_1; //增计数模式 TACTL |= TACLR; TACTL |= TAIE; //中断使能 TACCR0 = 49999; } #pragma vector = TIMERA1_VECTOR __interrupt void Timer_A (void) { switch (TAIV) { case 2:break; case 4 :break; case 10 : adcTimerFlowCnt++; //溢出标志 break; default :break; } } # pragma vector = ADC12_VECTOR __interrupt void ADC12ISR (void) { static unsigned int index =0; index++; if ( index == 100 ) { ADC12CTL0 &=~ENC; //停止ADC转换 TACTL |= MC_0; //定时器A暂停,TAR值保持不变 adcConvTime =TAR; //保存TAR值 TACTL &= ~TAIE; //禁止TA溢出中断 index =0; } else if ( index ==1 ) { int_timer(); //启动定时器A开始计时 adcTimerFlowCnt =0; } //不启动中断嵌套,执行完后需重新使能系统中断 } void main(void) { WDTCTL = WDTPW + WDTHOLD; //关闭看门狗 int_clk(); int_adc(); _EINT(); ADC12CTL0 |= ADC12SC; while (1); } |
|
相关推荐
2个回答
|
|
可以看看这两篇文章
基于MSP430定时器频率测量:http://bbs.ednchina.com/BLOG_ARTICLE_3009061.HTM MSP430内部ADC12采样时钟与转换时钟区别http://www.amobbs.com/thread-5509957-1-1.html |
|
|
|
ADC12CLK 的功能是为 ADC12 提供转换时钟。ADC12CLK 的最小和最大时钟分别近似为 500kHz和 6.5MHz。最快的完全转换周期为 17 个时钟周期(转换为 13 个时钟周期,采样保持为 4 个时钟周期)。6.5MHz/17 = 382ksps.ADC12 的时钟周期不能小于ADC12CLK 的最小周期,但在软件控制下可以使采样一直处于开启状态。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-TF卡烧录流程之烧写过程
1187 浏览 0 评论
2086 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写原理
1552 浏览 0 评论
请问SPH0641LU4H这款麦克风如何在不使用I2S的情况下,单纯通过GPIO来进行驱动且正常读取数据呢
1161 浏览 1 评论
698 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12109 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-5 10:38 , Processed in 0.384600 second(s), Total 41, Slave 35 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号