打印

430中断问题

[复制链接]
2510|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
LOVE_LY|  楼主 | 2013-11-7 19:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
我想用 序列通道多次采集模式采集AD,一个周期采集20次,然后取一个平均值。
这样的程序行不行。。

__interrupt void ADC12ISR (void)
{
uint index=0;
A0results[index] = ADC12MCTL0;
A1results[index] = ADC12MCTL1;
A2results[index] = ADC12MCTL2;
index = (index+1)%Num_Result;
if(index ==0)
{
for(i=0;1<=20,i++)
{
sum_0=A0results[i]+sum_0;
sum_1=A0results[i]+sum_1;
sum_2=A0results[i]+sum_2;
AO=sum_0/20;
A1=sum_2/20;
A2=sum_3/20;
}
}
}

相关帖子

沙发
黄小俊| | 2013-11-7 19:40 | 只看该作者
路过。。呵呵

使用特权

评论回复
板凳
LOVE_LY|  楼主 | 2013-11-7 19:54 | 只看该作者
**n1131 发表于 2013-11-7 19:40
路过。。呵呵

额 什么意思?求解啊 我不确定行不行

使用特权

评论回复
地板
黄小俊| | 2013-11-7 21:50 | 只看该作者
我看不怎么行。里面没有累加因子,你怎么判断这是哪一次?

使用特权

评论回复
5
shenmu2012| | 2013-11-7 22:00 | 只看该作者
这样不可以的吧,你参照下历程的啦

使用特权

评论回复
6
1988020566| | 2013-11-7 22:29 | 只看该作者
不行的。

使用特权

评论回复
7
1988020566| | 2013-11-7 22:29 | 只看该作者
如果转换时间太短,还是上一次的数值。

使用特权

评论回复
8
1988020566| | 2013-11-7 22:30 | 只看该作者
建议将速度提高一些,然后去平均值的。

使用特权

评论回复
9
LOVE_LY|  楼主 | 2013-11-8 07:31 | 只看该作者
**n1131 发表于 2013-11-7 21:50
我看不怎么行。里面没有累加因子,你怎么判断这是哪一次?

怎么没有累加因子,Num_result  定为 20 ,INDEX从0到20.再到0的时候进行取平均值。

使用特权

评论回复
10
LOVE_LY|  楼主 | 2013-11-8 07:36 | 只看该作者
本帖最后由 LOVE_LY 于 2013-11-8 07:53 编辑
1988020566 发表于 2013-11-7 22:30
建议将速度提高一些,然后去平均值的。
就是改变ADC时钟源选择?默认是ADC12OSC????????
另外 我觉得不可能时间不够啊,我贴出来的是一个中断,每次转化完一个周期就进入中断取平均值。我觉得时间应该够的吧
多谢

使用特权

评论回复
11
dirtwillfly| | 2013-11-8 07:54 | 只看该作者
你的程序有问题,下面三句需要放到循环外面
AO=sum_0/20;
A1=sum_2/20;
A2=sum_3/20;
你没提供其他的程序,我也不知道你这一段程序和其他部分配合的怎么样,你调试看看吧

使用特权

评论回复
12
LOVE_LY|  楼主 | 2013-11-8 09:09 | 只看该作者
dirtwillfly 发表于 2013-11-8 07:54
你的程序有问题,下面三句需要放到循环外面
AO=sum_0/20;
A1=sum_2/20;

这三句为什么要放到主程序去????有什么区别吗?

使用特权

评论回复
13
LOVE_LY|  楼主 | 2013-11-8 09:12 | 只看该作者
dirtwillfly 发表于 2013-11-8 07:54
你的程序有问题,下面三句需要放到循环外面
AO=sum_0/20;
A1=sum_2/20;

我的主程序使用ADC数据就是 LR=(A0-A2)*25000/4095;A1是用在一个IF判断里的,是一种特殊情况

使用特权

评论回复
14
dirtwillfly| | 2013-11-8 09:13 | 只看该作者
LOVE_LY 发表于 2013-11-8 09:09
这三句为什么要放到主程序去????有什么区别吗?

我没说是主程序里,我说是for循环外面,不然你的sun就多除了好多次20

使用特权

评论回复
15
LOVE_LY|  楼主 | 2013-11-8 09:19 | 只看该作者
dirtwillfly 发表于 2013-11-8 09:13
我没说是主程序里,我说是for循环外面,不然你的sun就多除了好多次20

哦 对!!
那这个功能应该可以实现的吧.
我是拿来坐小车的。

使用特权

评论回复
16
dirtwillfly| | 2013-11-8 09:26 | 只看该作者
LOVE_LY 发表于 2013-11-8 09:19
哦 对!!
那这个功能应该可以实现的吧.
我是拿来坐小车的。

可以的。你的程序还有些拼写错误,你多认真调试下

使用特权

评论回复
17
LOVE_LY|  楼主 | 2013-11-8 09:31 | 只看该作者
dirtwillfly 发表于 2013-11-8 09:26
可以的。你的程序还有些拼写错误,你多认真调试下

额额,多谢了。另外拼写错误是神马???

使用特权

评论回复
18
dirtwillfly| | 2013-11-8 10:07 | 只看该作者

使用特权

评论回复
19
天意无罪| | 2013-11-8 12:04 | 只看该作者
index 定义为static

使用特权

评论回复
20
黄小俊| | 2013-11-8 15:05 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

9

帖子

0

粉丝