[STM8] 静态变量通过函数返回枚举值,结果总是乱七八糟的

[复制链接]
 楼主| 奔牛滚滚 发表于 2014-2-17 10:05 | 显示全部楼层 |阅读模式
枚举类型的定义
  1. typedef enum
  2. {
  3.     MMT_DCR0=0 ,
  4.     MMT_DCR1=1,
  5.     MMT_DCR2=2,
  6.     MMT_X0=3
  7. }Meter_Model_Type;
定义为全局静态变量
  1. static Meter_Model_Type ex_meter_type=MMT_DCR1;
函数体
  1. Meter_Model_Type get_meter_type(void)
  2. {
  3.   return ex_meter_type;
  4. }
get_meter_type总是返回不定的值
 楼主| 奔牛滚滚 发表于 2014-2-17 10:44 | 显示全部楼层
dwh000 发表于 2014-2-17 10:24
有代码改变了该变量的值?
从贴上来的代码没看到什么问题!

搜索了整个项目文件,只有四处出现这个变量,只有一处有赋值操作.但是怎么也不可能赋范围外的值.奇怪的是调用这个函数,会出现范围外的值.
Ketose 发表于 2014-2-17 11:22 | 显示全部楼层
本帖最后由 Ketose 于 2014-2-17 11:25 编辑

是不是还定义了其它变量,有可能是操作其它变量越界了。比如数组。
你可以把这个变量定义在最数组的前面试试,但最终还是要解决越界的问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

384

主题

1461

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部

384

主题

1461

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部