首先在使用ad转换的时候,使用了float类型的数据变量,将转换为int类型,,出现OLED屏幕显示0,但是使用int强制转换后发现,大部分时间不为0,而是一个很大的值,小部分时间又可以正常维持到0,但使用屏幕直接输出int类型又一直维持为0;
最终出现显示为0,强转为int类型不为0,出现0不是0的问题。
因为在ad转换中,我将0-4096,转换成-100到+100,因此是0-2048-1对应-100-0,2048-4096-1对应的是0-100,最终我将代码中的2048,错误写成2096,最终导致出现float出现负数,但是float类型没有负数,最终导致数据报错,最终出现0,但不是0的问题。