OpenEdv-开源电子网

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

我在修改adc程序时出现了一个问题!

[复制链接]

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
发表于 2014-9-12 12:19:37 | 显示全部楼层 |阅读模式
5金钱

while(1)
{
adcx=Get_Adc_Average(ADC_Channel_1,10);
LCD_ShowxNum(156,130,adcx,4,16,0);//????ADC????
temp=(float)adcx*(3.3/3400);
adcx=temp;
LCD_ShowxNum(156,150,adcx,1,16,0);//??????????
temp-=adcx;
temp*=1000;
LCD_ShowxNum(172,150,temp,3,16,0X80);
LED0=!LED0;
delay_ms(250);
}
 }
求帮助!!我外接了一个拉线位移传感器后,为什么把原程序的3.3改为稍微大一点的值得到的数据一直是零啊?

最佳答案

查看完整内容[请看2#楼]

那个3.3V是不能改的吧,除非你把AD基准电压接的5V,才能改成5啊。。。所以那个3.3V(基准电压)是不能改的。 至于你那个 “拉线位移传感器”, 我不太清楚这个怎么工作的,有没有可能影响你AD采集,这个我不太清楚。。 建议你,先把3.3V改回来试试,不行吧“拉线位移传感器”去掉,看看AD采的准不。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

29

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1530
金钱
1530
注册时间
2012-9-4
在线时间
262 小时
发表于 2014-9-12 12:19:38 | 显示全部楼层
那个3.3V是不能改的吧,除非你把AD基准电压接的5V,才能改成5啊。。。所以那个3.3V(基准电压)是不能改的。

至于你那个 “拉线位移传感器”, 我不太清楚这个怎么工作的,有没有可能影响你AD采集,这个我不太清楚。。

建议你,先把3.3V改回来试试,不行吧“拉线位移传感器”去掉,看看AD采的准不。。。
STM32---STM32---STM32---STM32---STM32---STM32---STM32---STM32---STM32
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-9-12 12:19:38 | 显示全部楼层
3.3是AD基准电压,内部电路决定。单步调试看看adcx有没有值
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
 楼主| 发表于 2014-9-12 18:27:15 | 显示全部楼层
回复【2楼】aben:
---------------------------------
上面那个3.3应该会是计算用的吧?我觉的基准电压应该是硬件电路不是软件设置的!不知道对不对?
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
 楼主| 发表于 2014-9-12 20:31:59 | 显示全部楼层
回复【4楼】ricefat:
---------------------------------
adcx有值,lcd还显示就是改了数值以后就没有值了!郁闷死了!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-9-12 22:43:33 | 显示全部楼层
回复【5楼】nis428:
---------------------------------
你怎么改的?
可以仿真看一下具体的数值变化规律。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
 楼主| 发表于 2014-9-13 11:58:30 | 显示全部楼层
回复【6楼】正点原子:
---------------------------------
就是把3.3改大一点就没有值了!比如我改成temp=(float)adcx*(90/3400)然后值就是0。
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2014-9-13 17:36:08 | 显示全部楼层
你temp变量是什么数据类型?
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
 楼主| 发表于 2014-9-14 11:34:52 | 显示全部楼层
回复【8楼】ricefat:
---------------------------------
float单精度浮点型!
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
 楼主| 发表于 2014-9-14 11:36:09 | 显示全部楼层
我把原来的改成temp=adcx*90/3400结果发现有数值了!多谢大家!!
回复

使用道具 举报

12

主题

43

帖子

0

精华

初级会员

Rank: 2

积分
111
金钱
111
注册时间
2014-7-17
在线时间
0 小时
发表于 2014-9-14 12:03:10 | 显示全部楼层
回复【10楼】nis428:
---------------------------------
你木有弄明白AD采样的原理,也木有弄明白stm32adc外设的使用。改成90有什么意义?
回复

使用道具 举报

4

主题

26

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2014-7-23
在线时间
0 小时
 楼主| 发表于 2014-9-16 16:30:18 | 显示全部楼层
回复【11楼】平常心kxy:
---------------------------------
90是我传感器的量程,转化成数字量的范围就是3400。上式是传感器标定后得到的计算公式!
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-1 04:52

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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