| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1711 人关注过本帖
标题:大虾帮帮我。。关于单片机程序问题,一定帮帮我啊
只看楼主 加入收藏
skyseen
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-6-25
收藏
 问题点数:0 回复次数:24 
大虾帮帮我。。关于单片机程序问题,一定帮帮我啊
下面是我写的一个子程序(int test),我想通过这个程序产生一个m的值然后在main中判断m的值来做循环,但是程序烧进单片机后,发现好像int test这个程序没有作用,没有顺利产生一个m值来判断,大虾帮我看看这个子程序主题结构有什么问题没有啊,我自己是看了2天了,但应为才入门c所以很困难,谢谢了

    int test(unsigned int a,unsigned int b)
{
  unsigned int i,m;

  LED_Sel_Seq(a|0x00);//这是一个送573锁存的子程序,切已经定义了
  delayNs(10);
  for(i=1;i<9;i++)
  if(LED_SEL_D4!=b))//这是另一个送573锁存的子程序,切已经定义了
  {
    a = a<<1;
    b=b>>1;
   }
  else m=i;
  return m;
}
搜索更多相关主题的帖子: 单片机 
2008-07-02 14:53
a54344071
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-6-28
收藏
得分:0 
看你的程序,子程序完成后返回的M值应该是8或0,在一个返回的类型和函数的类型不符合不知道这是不是问题的所在.这只是我个人的看法不知道对不对
2008-07-02 15:01
bausrpgf999
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2008-7-1
收藏
得分:0 
int test(unsigned int a,unsigned int b)
{
  unsigned int i,m;

  LED_Sel_Seq(a|0x00);//这是一个送573锁存的子程序,切已经定义了
  delayNs(10);
  for(i=0;i<8;i++)
  if(LED_SEL_D4!=b))//这是另一个送573锁存的子程序,切已经定义了
  {
    a = a<<1;
    b=b>>1;
   }
  return i;
}
这样你试试看....

林子大了,嘛鸟都有了
            
2008-07-02 15:06
skyseen
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-6-25
收藏
得分:0 
回复 2# a54344071 的帖子
我想请问一下,现在返回值确实是8怎么回事了,?谢谢了
2008-07-02 15:12
skyseen
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-6-25
收藏
得分:0 
回复 3# bausrpgf999 的帖子
那m还可以在mian中调用吗,现在主要是通过这个得到m的值
2008-07-02 15:14
bausrpgf999
Rank: 1
等 级:新手上路
帖 子:35
专家分:0
注 册:2008-7-1
收藏
得分:0 
返回8是对还是错呢.

林子大了,嘛鸟都有了
            
2008-07-02 15:15
a54344071
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2008-6-28
收藏
得分:0 
如果是8的话,那就说明你的IF判断没有用处!!全部都走else了如下:
for(i=1;i<9;i++)
  if(LED_SEL_D4!=b))//这是另一个送573锁存的子程序,切已经定义了
  {
    a = a<<1;
    b=b>>1;
   }
  else m=i;都走这步
上边的IF没有用处看看是不是那里错误了
2008-07-02 15:22
skyseen
Rank: 1
等 级:新手上路
帖 子:39
专家分:0
注 册:2008-6-25
收藏
得分:0 
回复 6# bausrpgf999 的帖子
是不对的,应该是随着a,b改变而改变的一个值,返回值应该在0到8之间,但现在问题就是他不改变这节只返回8,好像中间那个移位程序就没有用。。。
2008-07-02 15:22
lnhaing
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2008-1-30
收藏
得分:0 
那说明LED_SEL_D4==b成立

我来自偶然! bitter C
2008-07-02 15:26
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
不知道你的程序在干什么,
凭感觉帮你改一下。

你把else m=i;改成 else return i;
2008-07-02 15:28
快速回复:大虾帮帮我。。关于单片机程序问题,一定帮帮我啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032131 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved