为什么我用msp430f149的内置ad采样只能有11位的精度 5
AD代码如下P6SEL|=0x01;//EnableA/DchannelA0ADC12CTL0=ADC12ON+SHT0_12+MSH;//TurnonADC12,set...
AD代码如下
P6SEL |= 0x01; // Enable A/D channel A0
ADC12CTL0 = ADC12ON + SHT0_12+MSH; // Turn on ADC12, set sampling time
ADC12CTL1 = SHP+CONSEQ_2; // Use sampling timer, set mode
ADC12IE = 0x01; // Enable ADC12IFG.0
ADC12CTL0 |= ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; // Start conversion
_EINT();
只能采样到2047 12位精度不是能到4095吗
已解决,虽然还不知道具体原因。代码没问题但是应该是受其他模块的影响到了。 展开
P6SEL |= 0x01; // Enable A/D channel A0
ADC12CTL0 = ADC12ON + SHT0_12+MSH; // Turn on ADC12, set sampling time
ADC12CTL1 = SHP+CONSEQ_2; // Use sampling timer, set mode
ADC12IE = 0x01; // Enable ADC12IFG.0
ADC12CTL0 |= ENC; // Enable conversions
ADC12CTL0 |= ADC12SC; // Start conversion
_EINT();
只能采样到2047 12位精度不是能到4095吗
已解决,虽然还不知道具体原因。代码没问题但是应该是受其他模块的影响到了。 展开
1个回答
展开全部
是的呀4095你的电压不足吗?
看看下面的程序
void AD_INIT(void)
{
ADC12CTL0 = ADC12ON+SHT0_12+MSC; // 打开ADC,设置采样时间
ADC12CTL1 = CSTARTADD_3+SHP+CONSEQ_2; // 选择存储器地址,使用采样定时器
ADC12MCTL3 = INCH_1; // 选择采样通道a1
P6SEL |= BIT1; //使能ADC通道
// ADC12IE = 0x01; // Enable ADC12IFG.0
}
double POWER1;
ADC12CTL0 |= ENC; //
ADC12CTL0 |= ADC12SC; // 开始转换
while ((ADC12IFG & BIT3)==0) ;
POWER1 =ADC12MEM3;
ADC12CTL0 &= ~ENC; // 关闭
这是查询法你可以改成中断的
看看下面的程序
void AD_INIT(void)
{
ADC12CTL0 = ADC12ON+SHT0_12+MSC; // 打开ADC,设置采样时间
ADC12CTL1 = CSTARTADD_3+SHP+CONSEQ_2; // 选择存储器地址,使用采样定时器
ADC12MCTL3 = INCH_1; // 选择采样通道a1
P6SEL |= BIT1; //使能ADC通道
// ADC12IE = 0x01; // Enable ADC12IFG.0
}
double POWER1;
ADC12CTL0 |= ENC; //
ADC12CTL0 |= ADC12SC; // 开始转换
while ((ADC12IFG & BIT3)==0) ;
POWER1 =ADC12MEM3;
ADC12CTL0 &= ~ENC; // 关闭
这是查询法你可以改成中断的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
赛麦吉
2023-06-03 广告
2023-06-03 广告
这是一张SineImage制作的分辨率测试卡配合软件可以自动计算几个关键图像质量因素包括锐度、横向色差、阶调反应、色彩反应及噪点。摄像头分辨率测试卡一种是ISO12233:2000分辨率测试卡,一种是ISO12233:2014 eSFR分辨...
点击进入详情页
本回答由赛麦吉提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询