中易网

MSP430 ADC10多通道多次采样问题求解

答案:2  悬赏:20  
解决时间 2021-12-30 22:42
三个通道采样,每个通道要采3个不同的电压值,先是通道2采3个不同电压,然后通道3,通道4,但是每次2通道采到第二个样时,程序运行到for(j=0;j<3;j++)就进行不下去了,不知道是什么原因,请各位帮帮忙。还有 __bis_SR_register(CPUOFF + GIE);这句到底怎么用,能不能去掉啊?
多谢!
#include "msp430g2553.h"
unsigned int a[10];
float v[10];
void main(void)
{
void ADC10SET(unsigned char channel);
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
ADC10CTL0 = ADC10SHT_2 + ADC10ON + ADC10IE; // ADC10ON, interrupt enabled
P1DIR |= 0xf8; // Set P1.3~P1.7 to output direction
unsigned char i,j;
while(1)
{
for(i=0;i<3;i++)
{
P1OUT=BIT4;
for(j=0;j<3;j++)
{
P1OUT<<=1; //set P1.5~p1.7 to high
ADC10SET(i);
__bis_SR_register(CPUOFF + GIE);

}
}
}
}
// ADC10 interrupt service routine
#pragma vector=ADC10_VECTOR
__interrupt void ADC10_ISR(void)
{
static unsigned char k=0;
a[k]=ADC10MEM;
v[k]=a[k]*35.5;
v[k]=(v[k]/1023)/10;
k++;
if(k==10) k=0;
__bic_SR_register_on_exit(CPUOFF); // Clear CPUOFF bit from 0(SR)
}

//ADC10 Control Service Function
void ADC10SET(unsigned char channel)
{
switch(channel)
{
//select channel 0 and start conversion
case 0: ADC10CTL1 =INCH_2;ADC10AE0 |= BIT2;ADC10CTL0 |= ENC + ADC10SC;break;
case 1: ADC10CTL1 =INCH_3;ADC10AE0 |= BIT3;ADC10CTL0 |= ENC + ADC10SC;break;
case 2: ADC10CTL1 =INCH_4;ADC10AE0 |= BIT4;ADC10CTL0 |= ENC + ADC10SC;break;
}
}
最佳答案
去掉__bis_SR_register(CPUOFF + GIE); 改成
__bis_SR_register( GIE); 试试 那个是关cpu 开总中断
全部回答
比较完善的如下 p6sel |= bit3; //使能adc通道 adc12ctl0 = adc12on+sht0_12+refon; // 打开adc,设置采样时间 adc12ctl1 = shp+conseq_2; // 选择存储器地址,使用采样定时器 单通道多次 adc12mctl0 = inch_3+sref_1; // 选择采样通道a3 内部部参考电压1.5v // for(unsigned char j=255;j>0;j--) for(unsigned char i=255;i>0;i--); adc12ctl0 |= enc; // 使能转换 _nop();_nop(); adc12ctl0 |= adc12sc; // 开始转换 adc12ifg=0; while ((adc12ifg & bit0)==0) ; //查一次电源状态 x=adc12mem0; //这里写其他程序 adc12ctl0 &=~refon; adc12ctl0 = adc12on; adc12ctl0 &=~(enc+sht0_12+refon+adc12sc+adc12on); // 关闭转换 adc12ctl1 &=~( shp+conseq_2); p6sel&=~bit3; p6dir |= bit3;p6out |= bit3;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
工作原因经常站立,每天腿都是非常疲劳胀痛怎
泰宁一中好还是建阳一中好
玖佳意商务宾馆(名豪步行街店)地址在哪,我要
老婆面试失败了,情绪低落,我除了安慰还能做
激渎的意思是什么?激渎的释义是什么啊?
纡道的意思是什么啊?请解释下!
歍歔的意思是什么?歍歔的释义是什么啊?
过论的意思是什么啊?请解释下!
帮我搜200字没关水的保证书
江津津粮酒店地址有知道的么?有点事想过去
弋钓的意思是什么?弋钓的释义是什么啊?
陈春辉,我爱他,他不爱我了。
街号巷哭的意思是什么啊?请解释下!
蚌埠市消防工程师考试报名在哪里的最新相关信
什么东西太阳越晒越凉
推荐资讯
稻穗的意思是什么?稻穗的释义是什么啊?
怎么才能在1年内。将1万人民币变成10万呢?
般担的意思是什么啊?请解释下!
《平清盛》是否有百度网盘下载资源?
临沂公务员小区能更名吗
北京四合院,可以住20人以上的,最好有容纳20
连江县不动产登记窗口地址有知道的么?有点事
153×37+153×63的简便方法
已知{an}满足an+1=2an+3×5^n a1=6,,求数列an
谢遣的意思是什么啊?请解释下!
染色体核型:46,XYph+是什么意思?
沈阳塔湾夜市儿开没开?人多吗?到几点?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?