[STM8] 感觉这样太浪费空间了

[复制链接]
555|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 | 显示全部楼层
没看明白什么意思
 楼主| pangb 发表于 2020-11-4 22:10 | 显示全部楼层
就是想LCD实时显示我ADC采样的电压值  想知道有什么简单的写法么
chuxh 发表于 2020-11-4 22:15 | 显示全部楼层
你知道怎么计算得到那些数据了,整数位,小数点,小数位。
supernan 发表于 2020-11-4 22:18 | 显示全部楼层
然后就是通过LCD进行字符的输出,具体怎么写查看相关LCD的驱动代码,它们一般都会配有演示代码,你改成相应芯片的驱动即可。
renyaq 发表于 2020-11-4 22:21 | 显示全部楼层
楼主你这思路很乱啊。
你的ADC是使用10位还是使用8位?
wenfen 发表于 2020-11-4 22:27 | 显示全部楼层
如果是使用8位,你的参考比如是VCC
你测的结果就是VCC*(测到的数据/2^8);这就是你要的电压。
 楼主| 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就行了。
xxmmi 发表于 2020-11-4 22:34 | 显示全部楼层
显示时候你可以指定每个数的位置
wangzsa 发表于 2020-11-4 22:37 | 显示全部楼层
如果你想用10位有效位,那后面可能会波动。
yszong 发表于 2020-11-4 22:40 | 显示全部楼层
你选用8位的,丢弃后面2位也可以。
llia 发表于 2020-11-4 22:45 | 显示全部楼层
直接计算就行了,你搞个表是啥意思?
zhanglli 发表于 2020-11-4 22:48 | 显示全部楼层
难道你要搞256空间的数组表?
 楼主| pangb 发表于 2020-11-4 22:52 | 显示全部楼层

嗯,我再好好缕一缕吧,有了好消息及时通知大家
huquanz711 发表于 2020-11-4 23:05 来自手机 | 显示全部楼层
什么意思?解决没有?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

粉丝
快速回复 在线客服 返回列表 返回顶部