skyseen 发表于 2008-7-2 14:53

大虾帮帮我。。关于单片机程序问题,一定帮帮我啊

下面是我写的一个子程序(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;
}

a54344071 发表于 2008-7-2 15:01

看你的程序,子程序完成后返回的M值应该是8或0,在一个返回的类型和函数的类型不符合不知道这是不是问题的所在.这只是我个人的看法不知道对不对

bausrpgf999 发表于 2008-7-2 15:06

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;
}
这样你试试看....

skyseen 发表于 2008-7-2 15:12

回复 2# a54344071 的帖子

我想请问一下,现在返回值确实是8怎么回事了,?谢谢了

skyseen 发表于 2008-7-2 15:14

回复 3# bausrpgf999 的帖子

那m还可以在mian中调用吗,现在主要是通过这个得到m的值

bausrpgf999 发表于 2008-7-2 15:15

返回8是对还是错呢.

a54344071 发表于 2008-7-2 15:22

如果是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没有用处看看是不是那里错误了

skyseen 发表于 2008-7-2 15:22

回复 6# bausrpgf999 的帖子

是不对的,应该是随着a,b改变而改变的一个值,返回值应该在0到8之间,但现在问题就是他不改变这节只返回8,好像中间那个移位程序就没有用。。。

lnhaing 发表于 2008-7-2 15:26

那说明LED_SEL_D4==b成立

woshiyun 发表于 2008-7-2 15:28

不知道你的程序在干什么,
凭感觉帮你改一下。

你把else m=i;改成 else return i;

skyseen 发表于 2008-7-2 15:33

回复 7# a54344071 的帖子

谢谢提醒我去看看电路图,在改改

lnhaing 发表于 2008-7-2 15:35

总结下:
看来论坛里面有人在玩嵌入式
不是我一个人在奋斗!

skyseen 发表于 2008-7-2 15:44

回复 12# lnhaing 的帖子

哈哈大家一起努力吧,

a54344071 发表于 2008-7-2 15:50

小弟才毕业,现在中国嵌入式市场怎么样啊!!各位大哥

lnhaing 发表于 2008-7-2 15:51

很火,很有钱途[tk05]

skyseen 发表于 2008-7-2 15:53

回复 10# woshiyun 的帖子

谢谢指导,

界水乘风 发表于 2008-7-2 15:53

LS,你是在什么环境下做的嵌入式?

skyseen 发表于 2008-7-2 15:54

回复 14# a54344071 的帖子

我也是才入行的,哈哈希望很好吧,不过这是个很有挑战的喔,因为我感觉确实有难度不过我不怕,哈哈

skyseen 发表于 2008-7-2 15:55

回复 17# 界水乘风 的帖子

是什么意思我不是很明白,但我现在工作是这个,以前c学的不是很扎实所以开始很困难,希望大家以后多多指导

a54344071 发表于 2008-7-2 15:56

回复 14# a54344071 的帖子

呵呵是吗!!那我就得努力找工作去了

页: [1] 2

编程论坛