lhcyy 发表于 2012-5-22 09:33:10

AD采样后结果怎么储存成小数。数组里面可以存小数吗?

我做的是几路ADC采样。然后把采样后的结果存起来,以方便12864显示。但现在数据存储有点问题。有这样方面的大侠提个醒吗。同是数组里面可以存入小数吗。我感觉一般

数组里面存的是二进制的。怎么让这些二进制在lcd12864显示

.titrwh 发表于 2012-5-22 09:38:56

一般都是小数扩大一定倍数变为整数存的,直接存小数占用空间太大,计算也不方便。

NJ8888 发表于 2012-5-22 09:46:51

显示时才转换为小数

lhcyy 发表于 2012-5-22 09:48:36

.titrwh 发表于 2012-5-22 09:38 static/image/common/back.gif
一般都是小数扩大一定倍数变为整数存的,直接存小数占用空间太大,计算也不方便。 ...

这个不错,学习了

lhcyy 发表于 2012-5-22 09:58:34

NJ8888 发表于 2012-5-22 09:46 static/image/common/back.gif
显示时才转换为小数

我局的存起在里面的时候是二进制的,比如我们在程序中定义数组里面的一个数组dis[]="2"这时我们要在LCD12864显示,就直接用函数取这个数组里面的第一个元素就ok,
但是如果是把AD的结果存入这样一个数组那么肯定是以0x02存入的,那显示的时候就不能直接取这个元素。这个我已经试过了。如果把存入的二进制数在12864上面以十进制
显示出来

zuu0 发表于 2012-5-22 10:23:55

我一般都用的个联合体,直接调用,懒的转化来转化去的

lhcyy 发表于 2012-5-22 10:51:02

zuu0 发表于 2012-5-22 10:23 static/image/common/back.gif
我一般都用的个联合体,直接调用,懒的转化来转化去的

什么意思。我现在发现个问题。就是如果我们写入dis[]=“1”,那么调用12864显示函数的时候就会显示出1.
而单单直接把0x01赋值给数据口,则显示的是一个图标。这个方面有人能给指导吗

.titrwh 发表于 2012-5-22 10:53:22

lhcyy 发表于 2012-5-22 10:51 static/image/common/back.gif
什么意思。我现在发现个问题。就是如果我们写入dis[]=“1”,那么调用12864显示函数的时候就会显示出1.
...

液晶是阿斯科码,要给0x31才显示字符1。

size327948964 发表于 2012-5-22 10:54:30

可以,共用体,四字节数组合浮点数的共用体,就可以。

lixin91985 发表于 2012-5-22 10:55:30

1 的ascii 码好像是0x30+0x01

lhcyy 发表于 2012-5-22 11:29:44

lixin91985 发表于 2012-5-22 10:55 static/image/common/back.gif
1 的ascii 码好像是0x30+0x01

谢谢,你们说的对,显示问题已经解决,现在还有个小数问题呵呵
页: [1]
查看完整版本: AD采样后结果怎么储存成小数。数组里面可以存小数吗?