智能车制作
标题:
在函数当中定义一个变量,单步时显示not allocated,求解
[打印本页]
作者:
KiraVerSace
时间:
2011-3-17 12:55
标题:
在函数当中定义一个变量,单步时显示not allocated,求解
如题,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,希望高手 可以帮帮我
作者:
boxsoldier
时间:
2011-4-27 21:52
声明为static 静态变量试试
作者:
hailiang6666
时间:
2011-7-8 09:33
volatlie
作者:
hailiang6666
时间:
2011-7-8 09:35
volatile
作者:
thnh169
时间:
2011-7-8 14:52
这个是由于编译器在编译时候优化掉了。。。
uiTemp=SPI0DRL;
程序中只有这个语句,后续程序没有任何的写入,所以编译器自动优化掉了。。。
在申请变量时候,这样写volatile unsigned int uiTemp=1;这样就不会优化掉了
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2