打印

数组的问题请教

[复制链接]
1444|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kayibi|  楼主 | 2010-7-20 16:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位高手,我是菜鸟,刚学单片机,遇到下面问题:
我有定义了5个变量a1,a2,a3,a4,a5,这5个变量是在电路测试中不断的读I/O口数据,并且每读一次都要将此次读到的数据与上次的数据求或再赋给这5个变量,如a1=a1|P0这样。
我现在想用一个数组a[5],将上面经过最后处理过的5个变量分别赋值给数组成a[5]={a1,a2,a3,a4,a5}
然后我又用下面语句来处理数组
for(m=0;m<5;m++)
{
    a[m]>>=1;
    if(a[m+1]&0x01)
    a[m]|=0x80;
}
请问要达到这样的效果应该怎样写?谢谢

相关帖子

沙发
平常人| | 2010-7-20 22:38 | 只看该作者
你自己不是写出来了吗??????????

使用特权

评论回复
板凳
kayibi|  楼主 | 2010-7-21 17:05 | 只看该作者
我之前的程序是:
uchar a[5],aa,a2,a3,a4,a5;
while(times2--)
{
..........
a1=a1|P0;
..........
a2=a2|P0;
......
......
......
a5=a5|P0;
}
请问接下来应该怎么做?将5个变量的值赋值给数组a[5]中的元素?完了后我要查这5个变量中有多少个位是1!
其实a1到a5对应的是40个待测信号,a1的最低位对应的是信号1,最高位对应是信号8,以此类推,a5最高位对应信号40.我要做的就是想查出哪一位信号不合格!并且要记录下来。请大家给些建议让程序更简单,或者更好的方法能够查到位。谢谢。

使用特权

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

本版积分规则

3

主题

39

帖子

1

粉丝