这是一小段代码,BUF是从ADXL345中读取的寄存器值,我的问题是在什么情况下dis_data会小于0,即条件成立后能执行dis_data=-dis_data;这句话!
typedef unsigned char BYTE; BYTE BUF[8]; int dis_data;
dis_data=(BUF[1]<<8)+BUF[0]; if(dis_data<0) { dis_data=-dis_data; }
谢谢大家!
dis_data > 32767
看手册,
这个变量是带符号的