采样定时器怎么设置?

[复制链接]
2549|34
xietingfeng 发表于 2018-8-16 21:35 | 显示全部楼层
用户手册里有
suzhanhua 发表于 2018-8-16 21:36 | 显示全部楼层
#include "msp430x14x.h"
//初始化ADC12
P6SEL |= 0x01; // 使能ADC通道,默认的VREF为VCC
ADC12CTL0 = ADC12ON+SHT0_5+MSC; // 打开ADC,设置采样时间
/*选择内部参考电压源*/
// ADC12CTL0|= REFON+REF2_5V;
// ADC12MCTL0|=SREF_1;
ADC12CTL1 = SHP+CONSEQ_2; // 使用采样定时器
ADC12IE = 0x01; // 使能ADC中断
ADC12CTL0 |= ENC; // 使能转换
ADC12CTL0 |= ADC12SC; // 开始转换
_EINT();
LPM0;
}
#pragma vector=ADC_VECTOR
__interrupt void conversion()
{
uint buffer[32];
static uint index=0;
buffer[index++]=ADC12MEM0;
if(index==32)
{
index=0;
}
mituzu 发表于 2018-8-16 21:36 | 显示全部楼层
ADC12模块的时钟,这个是模块运行时的时钟,跟采样定时器是两个概念
hellosdc 发表于 2018-8-16 21:37 | 显示全部楼层
TI例程里面有代码的
uiint 发表于 2018-8-16 21:37 | 显示全部楼层
采样保持是由采样定时器触发信号SHI信号引起
hellosdc 发表于 2018-8-16 21:37 | 显示全部楼层
选择的ADC12OSC
gygp 发表于 2018-8-16 21:37 | 显示全部楼层
设置AD,最后在AD中断里面将ADC12MEM的数据赋给result然后配置定时器
mituzu 发表于 2018-8-16 21:37 | 显示全部楼层
由ADC12CTL1里面的ADC12SSEL和ADC12DIV配置,可以选择ADC12OSC/ACLK/SMCLK/MCLK
chenci2013 发表于 2018-8-16 21:37 | 显示全部楼层
先设成定时器模式,中断发生后再设回adc采样模式。
suzhanhua 发表于 2018-8-16 21:37 | 显示全部楼层
数据buffer中的数值 就是转换的数值
biechedan 发表于 2018-8-16 21:37 | 显示全部楼层
网上很多的代码可以使用的。
xietingfeng 发表于 2018-8-16 21:37 | 显示全部楼层
看ADC12CTL0的设置。
wangdezhi 发表于 2018-8-16 21:37 | 显示全部楼层
P6SEL |= 0x01; // 使能ADC通道,默认的VREF为VCC
ADC12CTL0 = ADC12ON+SHT0_5+MSC; // 打开ADC,设置采样时间
/*选择内部参考电压源*/
// ADC12CTL0|= REFON+REF2_5V;
// ADC12MCTL0|=SREF_1;
ADC12CTL1 = SHP+CONSEQ_2; // 使用采样定时器
ADC12IE = 0x01; // 使能ADC中断
isseed 发表于 2018-8-16 21:37 | 显示全部楼层
其采样周期为:t(sample)=4*t(ADC12CLK)*n,而n的取值有一个表,表上对应的是4
uiint 发表于 2018-8-16 21:37 | 显示全部楼层
采样定时器由ADC12CTL0的ADC12SHT0和ADC12SHT1配置,在采样定时器时间内进行采样,采样后就立即进行采样结果转换。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部