你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么全局变量不能直接传递给函数使用?  关闭

[复制链接]
guanjianguo 提问时间:2008-12-23 10:38 /
 
 
 u8  step, yh, xl[6];
 u16 change[6];
 
 extern void xs_1p_hz(u8 yn,u8 place, u16 *nm); 
 extern void xs_ss_u16(u8 place, u8 ss, u16 n);
 
////////////////////  目录光标下移键  //////////////////////////
void key1_2()   //  目录光标下移键
{ u16 nm[8];  // 放汉字内码
  switch(yh)
    { case 2:
        { yh=6;  // 选中第6行,高亮显示
          nm[0]='确'; nm[1]='认';   nm[2]=0;  nm[3]=0;  nm[4]=0;    nm[5]=0;   nm[6]=0;    nm[7]=0;
          xs_1p_hz(yh, 6, nm); // 第6排 显示8个汉字
          break;
        } 
      case 6:
        { yh=7;  //  选中第7行,高亮显示
          nm[0]='退'; nm[1]='出';   nm[2]=0;  nm[3]=0;  nm[4]=0;    nm[5]=0;   nm[6]=0;    nm[7]=0;
          xs_1p_hz(yh, 7, nm); // 第6排 显示8个汉字  
          break;
        }
      default:
        { yh=2; //  显示第2行数字,高亮显示 选中的位
          xs_ss_u16(2, xl[2], change[2]); // 第2排 显示4个数字
          break;
        }
    }
}
 
执行上面的函数后,全局变量yh, xl[6] 的值 都变了.
 
 为什么全局变量不能直接传递给函数使用?
  
以前我IAR for MSP430都很好用的!!!!!  用IAR442A就不行了!!!!!!!!!!
 
 
 
 
收藏 评论5 发布时间:2008-12-23 10:38

举报

5个回答
萧星-96138 回答时间:2008-12-23 12:24:41

RE:为什么全局变量不能直接传递给函数使用?

楼主的意思是?具体是哪里有问题呢?
guanjianguo 回答时间:2008-12-23 14:05:38

RE:为什么全局变量不能直接传递给函数使用?

2楼楼主,
执行上面的函数后,全局变量yh, xl[6] 的值 都变了.
且好像进入了hard fault异常处理

为什么全局变量不能直接传递给函数使用?
   
以前我IAR for MSP430都很好用的!!!!!  用IAR442A就不行了!!!!!!!!!!
zangdianjun 回答时间:2008-12-24 11:12:56

回复:为什么全局变量不能直接传递给函数使用?

我的情况和楼主很类似啊,这个程序好像是液晶显示?
我是在用开发板练习程序呢,不知道楼主用的是哪款啊?
萧星-96138 回答时间:2008-12-24 11:22:08

RE:为什么全局变量不能直接传递给函数使用?

yh, xl[6] 的值都变了? 我们给他赋值他也应该不变吗? 还是变化不是你想要的变化?
ssrwork 回答时间:2008-12-24 12:04:21

RE:为什么全局变量不能直接传递给函数使用?

我觉得问题在函数声明.你传的yh和x是数组,最好在函数里用指针吧.

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版