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

[复制链接]
1858|24
 楼主| pangb 发表于 2022-12-4 14:19 | 显示全部楼层 |阅读模式
打算用LCD实时显示ADC采样的电压值出来,同事给了一个方法就是在while里写当ADC采样的值是0x00和0x14显示0.1V,0x14和0x28这样显示0,2以此类推到最大采样的电压5V。
jiaxw 发表于 2022-12-4 14:21 | 显示全部楼层
你有什么打算呢?或者你想知道什么?
 楼主| pangb 发表于 2022-12-4 14:23 | 显示全部楼层
能不能写一个数组类似下面这样的直接显示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;
jiajs 发表于 2022-12-4 14:25 | 显示全部楼层
没看明白什么意思
 楼主| pangb 发表于 2022-12-4 14:28 | 显示全部楼层
就是想LCD实时显示我ADC采样的电压值  想知道有什么简单的写法么
pengf 发表于 2022-12-4 14:31 | 显示全部楼层
你知道怎么计算得到那些数据了,整数位,小数点,小数位。
jiajs 发表于 2022-12-4 14:33 | 显示全部楼层
然后就是通过LCD进行字符的输出,具体怎么写查看相关LCD的驱动代码,它们一般都会配有演示代码,你改成相应芯片的驱动即可。
chuxh 发表于 2022-12-4 14:35 | 显示全部楼层
楼主你这思路很乱啊。
你的ADC是使用10位还是使用8位?
pengf 发表于 2022-12-4 14:38 | 显示全部楼层
如果是使用8位,你的参考比如是VCC
你测的结果就是VCC*(测到的数据/2^8);这就是你要的电压。
 楼主| pangb 发表于 2022-12-4 14:40 | 显示全部楼层
比如你保留2位小数。
测到的结果比如是dat=1.23
你可以dat*100
就是123
123,通过除法和取余数操作分解成1,2,3
然后讲123三个数放一个数组里,比如uchar val[4]={1,'.',2,3};
你将这个数组送到LCD就行了。
jiaxw 发表于 2022-12-4 14:43 | 显示全部楼层
显示时候你可以指定每个数的位置
huangchui 发表于 2022-12-4 14:45 | 显示全部楼层
如果你想用10位有效位,那后面可能会波动。
jlyuan 发表于 2022-12-4 14:47 | 显示全部楼层
你选用8位的,丢弃后面2位也可以。
pengf 发表于 2022-12-4 14:53 | 显示全部楼层
直接计算就行了,你搞个表是啥意思?
dengdc 发表于 2022-12-4 14:54 | 显示全部楼层
难道你要搞256空间的数组表?
MessageRing 发表于 2022-12-6 14:26 | 显示全部楼层
用10位有效位后面可能会波动
Stahan 发表于 2022-12-6 14:52 | 显示全部楼层
显示时候可以指定每个数的位置
Henryko 发表于 2022-12-6 16:13 | 显示全部楼层
LCD进行字符的输出,具体怎么写查看相关LCD的驱动代码
Bowclad 发表于 2022-12-6 16:27 | 显示全部楼层
这个怎么浪费空间了?
Bowclad 发表于 2022-12-6 18:02 | 显示全部楼层
直接计算就行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

7643

帖子

6

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