|
发表于 2012-6-20 23:25:02
|
显示全部楼层
本帖最后由 沧海笑1122 于 2012-6-21 00:29 编辑
今晚按照弘毅兄此帖和小强兄的资料试验LCD12864+SPI顺利。(谢谢二位)
试验使用电位器作为模拟输入,液晶显示三位读数,也达到了目的,能够正确显示0~1024(超出1000显示:00)。
我的代码片段(引用网友的)- int drop1Size = analogRead(0); //电位器1作为变量===drop1Size,读取drop1Size并在液晶显示三位
- LCDA.DisplaySig(2,1,(drop1Size/100)+48);
- LCDA.DisplaySig(2,2,(drop1Size/10-drop1Size/100*10)+48);
- LCDA.DisplaySig(2,3,(drop1Size-(drop1Size/100)*100-(drop1Size/10-drop1Size/100*10)*10)+48);
复制代码 我的问题是:
例如(drop1Size/10-drop1Size/100*10)+48),其中drop1Size/10-drop1Size/100*10不是等于零吗?我理解错误在哪里?这个代码肯定是对的,但我错在何处?望指点一二。谢谢。
答:
=============经过诸位指点,这段代码其实是取整过程
例:模拟口送入:987
LCDA.DisplaySig(2,1,(drop1Size/100)+48); // 987/100=9+48,显示字符9
LCDA.DisplaySig(2,2,(drop1Size/10-drop1Size/100*10)+48); // 987/10-987/100*10=98-90=8,显示字符8
LCDA.DisplaySig(2,3,(drop1Size-(drop1Size/100)*100-(drop1Size/10-drop1Size/100*10)*10)+48)
// 987-(987/100)*100-(987/10-987/100*10)*10=987-900-80=7,显示字符7
结果就是:9 8 7
|
|