智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2933|回复: 4
打印 上一主题 下一主题

在函数当中定义一个变量,单步时显示not allocated,求解

[复制链接]

10

主题

26

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1118
QQ
威望
423
贡献
585
兑换币
12
注册时间
2010-8-25
在线时间
55 小时
跳转到指定楼层
1#
发表于 2011-3-17 12:55:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,unsigned int SPI_Read_Reg_mma7455(unsigned int uiReg){
  unsigned int uiTemp=1;
  MMA_CS=0;   //CS=0

  uiTemp=SPI0DRL;
  while (!SPI0SR_SPTEF);            //判断发送寄存器是空的
  SPI0DRL= ((uiReg &0x3F)<<1);      //向寄存器地址写 读的命令
  while(!SPI0SR_SPIF);              //写完读取从机的寄存器的指令之后 等待从机反馈数据
  uiTemp=SPI0DRL;                   //读取MMA7455反馈的数据

  SPI0DRL=0xff;                     //主机产生8个时钟信号,MMA7455返回 数据
  while(!SPI0SR_SPIF);
  uiTemp=SPI0DRL;
  MMA_CS=1;    //CS=1

  return (uiTemp);  
}


就是这段函数中的 uiTemp,希望高手 可以帮帮我

7

主题

67

帖子

0

精华

高级会员

Rank: 4

积分
627
威望
301
贡献
254
兑换币
0
注册时间
2011-2-15
在线时间
36 小时
2#
发表于 2011-4-27 21:52:07 | 只看该作者
声明为static 静态变量试试
回复 支持 反对

使用道具 举报

0

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
333
威望
247
贡献
56
兑换币
6
注册时间
2011-3-6
在线时间
15 小时
3#
发表于 2011-7-8 09:33:25 | 只看该作者
volatlie
回复 支持 反对

使用道具 举报

0

主题

68

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
333
威望
247
贡献
56
兑换币
6
注册时间
2011-3-6
在线时间
15 小时
4#
发表于 2011-7-8 09:35:04 | 只看该作者
volatile
回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
344
威望
224
贡献
42
兑换币
6
注册时间
2010-4-23
在线时间
39 小时
5#
发表于 2011-7-8 14:52:52 | 只看该作者
这个是由于编译器在编译时候优化掉了。。。
uiTemp=SPI0DRL;
程序中只有这个语句,后续程序没有任何的写入,所以编译器自动优化掉了。。。
在申请变量时候,这样写volatile unsigned int uiTemp=1;这样就不会优化掉了
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-6-2 08:45 , Processed in 0.047731 second(s), 30 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表