C语言求救

[复制链接]
2535|11
 楼主| xilinxer 发表于 2008-9-5 13:26 | 显示全部楼层 |阅读模式
我用C语言开发单片机程序。
我定义的全局变量在main主程序中引用后。等到main主程序引用子函数是。全局变量就变了!这是怎么回事啊?是不是编译器的问题啊?
gavin_he 发表于 2008-9-5 13:29 | 显示全部楼层

把它加上试下 volatile

HWM 发表于 2008-9-5 13:38 | 显示全部楼层

若真如楼主所言那么简单,那就是编译器的问题了

但若有中断或为IO端口就另当别论了。
 楼主| xilinxer 发表于 2008-9-5 13:52 | 显示全部楼层

中断没问题!也不是IO口!

HWM 发表于 2008-9-5 13:56 | 显示全部楼层

是否存在全局变量和局部变量重名?如是,则只是在访问局

 楼主| xilinxer 发表于 2008-9-5 14:08 | 显示全部楼层

没有重名现象!

只要调用函数就改变,但进入中断函数时全局变量不改变
gjg191 发表于 2008-9-5 14:11 | 显示全部楼层

o

拿你的程序来看看
HWM 发表于 2008-9-5 14:16 | 显示全部楼层

若确实如此,只有两种可能:1-编译BUG,2-见鬼了。

建议用断点跟踪,仔细分析。本人所见,见鬼可能性大一点。就看你是否能逮住它了。
 楼主| xilinxer 发表于 2008-9-5 14:19 | 显示全部楼层

我用的就是断点跟踪,

用单步执行一进入子函数里面就变了!呵呵
编译器以前好像是好的!是不是有可能内部数据存储器不够啊!但编译器没报错啊!我用的是Crossworks编译器
农民讲习所 发表于 2008-9-5 14:20 | 显示全部楼层

全国人民都用的编译器没出问题

为什么你遇到了?
 楼主| xilinxer 发表于 2008-9-5 14:27 | 显示全部楼层

呵呵!正在查呢!

 楼主| xilinxer 发表于 2008-9-5 15:06 | 显示全部楼层

呵呵!好像是数据存储空间不太够了

您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

170

帖子

1

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