打印
[STM8]

感觉这样太浪费空间了

[复制链接]
367|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pangb|  楼主 | 2020-11-4 21:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
打算用LCD实时显示ADC采样的电压值出来,同事给了一个方法就是在while里写当ADC采样的值是0x00和0x14显示0.1V,0x14和0x28这样显示0,2以此类推到最大采样的电压5V。

使用特权

评论回复
沙发
pangb|  楼主 | 2020-11-4 21:58 | 只看该作者

你有什么打算呢?或者你想知道什么?

使用特权

评论回复
板凳
pangb|  楼主 | 2020-11-4 22:01 | 只看该作者
能不能写一个数组类似下面这样的直接显示tab1每次采样的值出来,但是显示部分不知道怎么写 ,所以请教下各位 (芯片是STM8S208MB 板子是ST官方的UM0482的开发板)
Conversion_Value = ADC2_GetConversionValue();
    ADC=Conversion_Value*5;
    a=ADC/1000;
    b=(ADC%1000)/100;
    c=(ADC%100)/10;
    d=ADC%10;
    tab1[0]=a+0x30;
    tab1[1]=b+0x30;
    tab1[2]=c+0x30;
    tab1[3]=d+0x30;

使用特权

评论回复
地板
bqyj| | 2020-11-4 22:07 | 只看该作者
没看明白什么意思

使用特权

评论回复
5
pangb|  楼主 | 2020-11-4 22:10 | 只看该作者
就是想LCD实时显示我ADC采样的电压值  想知道有什么简单的写法么

使用特权

评论回复
6
chuxh| | 2020-11-4 22:15 | 只看该作者
你知道怎么计算得到那些数据了,整数位,小数点,小数位。

使用特权

评论回复
7
supernan| | 2020-11-4 22:18 | 只看该作者
然后就是通过LCD进行字符的输出,具体怎么写查看相关LCD的驱动代码,它们一般都会配有演示代码,你改成相应芯片的驱动即可。

使用特权

评论回复
8
renyaq| | 2020-11-4 22:21 | 只看该作者
楼主你这思路很乱啊。
你的ADC是使用10位还是使用8位?

使用特权

评论回复
9
wenfen| | 2020-11-4 22:27 | 只看该作者
如果是使用8位,你的参考比如是VCC
你测的结果就是VCC*(测到的数据/2^8);这就是你要的电压。

使用特权

评论回复
10
pangb|  楼主 | 2020-11-4 22:31 | 只看该作者
比如你保留2位小数。
测到的结果比如是dat=1.23
你可以dat*100
就是123
123,通过除法和取余数操作分解成1,2,3
然后讲123三个数放一个数组里,比如uchar val[4]={1,'.',2,3};
你将这个数组送到LCD就行了。

使用特权

评论回复
11
xxmmi| | 2020-11-4 22:34 | 只看该作者
显示时候你可以指定每个数的位置

使用特权

评论回复
12
wangzsa| | 2020-11-4 22:37 | 只看该作者
如果你想用10位有效位,那后面可能会波动。

使用特权

评论回复
13
yszong| | 2020-11-4 22:40 | 只看该作者
你选用8位的,丢弃后面2位也可以。

使用特权

评论回复
14
llia| | 2020-11-4 22:45 | 只看该作者
直接计算就行了,你搞个表是啥意思?

使用特权

评论回复
15
zhanglli| | 2020-11-4 22:48 | 只看该作者
难道你要搞256空间的数组表?

使用特权

评论回复
16
pangb|  楼主 | 2020-11-4 22:52 | 只看该作者

嗯,我再好好缕一缕吧,有了好消息及时通知大家

使用特权

评论回复
17
huquanz711| | 2020-11-4 23:05 | 只看该作者
什么意思?解决没有?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝