stm32负数存在形式是什么?求原子大哥

2019-07-21 02:04发布

[mw_shl_code=c,true]int angle;[/mw_shl_code] [mw_shl_code=c,true]double volatge[/mw_shl_code] [mw_shl_code=c,true]adcx=Get_Adc_Average(ADC_Channel_5,20); volatge=adcx*(3.32/4096); angle=(int)((volatge-0.633)/0.00081055/11.37777778); if (angle>180) angle=angle-360; if (angle<-180) angle=angle + 360; LCD_ShowxNum(160,170,angle,3,16,0);[/mw_shl_code]
我在做adc角度测量LCD显示实验的时候,显示的angle值,当angle为正数的时候显示正确,当angle为负时,则不对,我将LCD_ShowxNum(160,170,angle,3,16,0);改为LCD_ShowxNum(160,170,angle,35,16,0);显示35位时,发现angle为负数时显示的是一串32位的数字,并当angle=-1时,lcd显示13151131111211221531334294967295;我查过stm32的int型是32位的,并当为负1,时寄存器储存为0XFFFFFFFF;但是我在程序调用angle值的时候,if((angle>=-150)&&(angle<=-177)),发现angle满足该条件的时候并不会执行if后的指令,所以我就不懂了,怎样调用负的angle值呢???adc和lcd程序都是实验配套程序;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。