OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2988|回复: 5

探索者开发板ADC采集电压通过串口显示

[复制链接]

12

主题

33

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1330
金钱
1330
注册时间
2020-1-10
在线时间
131 小时
发表于 2020-5-6 16:03:40 | 显示全部楼层 |阅读模式
15金钱
大佬们,我在探索者的ADC例程主函数中加了一句printf("电压:%fV\n",temp);想把检测到的电压通过串口打印出来。可是显示的电压值大约只有实际的一半,就是说检测3.3V,显示数为1.4-1.6之间。大佬们有知道这是什么问题吗,还是说这是正常的现象。我把ADC和TPAD的跳线帽拔了,PA5用杜邦线连到板子上的3.3V。我没买屏幕,所以不知道屏幕显示是什么样子,但这是例程,应该是没有问题的。
while(1)
        {
                adcx=Get_Adc_Average(ADC_Channel_5,20);//获取通道5的转换值,20次取平均
                LCD_ShowxNum(134,130,adcx,4,16,0);    //显示ADCC采样后的原始值
                temp=(float)adcx*(3.3/4096);          //获取计算后的带小数的实际电压值,比如3.1111
                adcx=temp;                            //赋值整数部分给adcx变量,因为adcx为u16整形
                printf("电压:%fV\n",temp);//只加了这一句,例程其他地方没动
                LCD_ShowxNum(134,150,adcx,1,16,0);    //显示电压值的整数部分,3.1111的话,这里就是显示3
                temp-=adcx;                           //把已经显示的整数部分去掉,留下小数部分,比如3.1111-3=0.1111
                temp*=1000;                           //小数部分乘以1000,例如:0.1111就转换为111.1,相当于保留三位小数。
                LCD_ShowxNum(150,150,temp,3,16,0X80); //显示小数部分(前面转换为了整形显示),这里显示的就是111.
                LED0=!LED0;
                delay_ms(250);       
        }


串口电压.jpg
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

72

帖子

0

精华

初级会员

Rank: 2

积分
75
金钱
75
注册时间
2020-5-6
在线时间
0 小时
发表于 2020-5-6 16:03:40 | 显示全部楼层
回复

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3627
金钱
3627
注册时间
2019-8-14
在线时间
1054 小时
发表于 2020-5-6 18:32:45 | 显示全部楼层
代码是没有问题的,TPAD线帽接上,不接杜邦线看看
回复

使用道具 举报

12

主题

33

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1330
金钱
1330
注册时间
2020-1-10
在线时间
131 小时
 楼主| 发表于 2020-5-7 09:44:43 | 显示全部楼层
hou18 发表于 2020-5-6 18:32
代码是没有问题的,TPAD线帽接上,不接杜邦线看看

显示1.3-1.5V之间,所以是硬件出问题了吗
回复

使用道具 举报

6

主题

211

帖子

0

精华

高级会员

Rank: 4

积分
833
金钱
833
注册时间
2019-12-17
在线时间
157 小时
发表于 2020-5-7 14:42:05 | 显示全部楼层
你看看电路上是怎么接的,是不是用了电阻分压
回复

使用道具 举报

12

主题

33

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1330
金钱
1330
注册时间
2020-1-10
在线时间
131 小时
 楼主| 发表于 2020-5-7 23:12:49 | 显示全部楼层
y284858 发表于 2020-5-7 14:42
你看看电路上是怎么接的,是不是用了电阻分压

在ADC讲解视频里杜邦线插上,LCD屏就能正常显示3V3和0V,只是改成printf串口打印会和电阻分压有关吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 12:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表