Warning[Pe550]: variable "xxxx" was set but never used
如:
void fx (void)
{
UINT8 i;
i = p;
……………………
}
定义局部变量,就会报“变量定义了,但是没有使用”的警告!,,并且变量也没有被赋值。很容易迷惑人。不仔细看警告的朋友可能半天调试不好。
UINT8 i;
void fx (void)
{
i = p;
……………………
}
把变量改为全局变量后,就不会有警告了。
或者在定义的前面加上 volatile后,编译就通过了。这个和编译器的库有关。
UINT8 i;
void fx (void)
{
volatile UINT8i;
i = p;
……………………
}
我就是因为在中断里对串口接收进行处理,结果没法接收。
具体原因是不是因为这个变量引起的还在查找。
不知道为什么会这样。
#include "io430.h"
//带参数的宏定义
#define PI 3.14
#define S(r) PI*(r)*(r)
float area;//全局变量
void main()
{
int r;
r=3;
area = S(r);//调用宏
}
如果把该变量如下面程序中那样定义为局部变量,则会出现如下的提示:
同时程序也不能正常运行。
#include "io430.h"
//带参数的宏定义
#define PI 3.14
#define S(r) PI*(r)*(r)
void main()
{
int r;
float area;//局部变量
r=3;
area = S(r);//调用宏
}
//函数作为表达式调用
int GetMax(int x,int y);
int k;
int main( void )
{
// Stop watchdog timer to prevent time out reset
WDTCTL = WDTPW + WDTHOLD;
int m,n;
m=9;
n=10;
k = GetMax(m,n);//调用函数
}
int GetMax(int x,int y)
{
if(x>=y) return x;
else return y;
}
你并不一定会从此拥有更美好的人生,