OpenEdv-开源电子网

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

STM32F107 ADC采集三种不同的电压信号

[复制链接]

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
发表于 2018-3-29 10:00:12 | 显示全部楼层 |阅读模式
11金钱
实验是利用ADC1的三个采样通道ADC_Channel_10、ADC_Channel_11、ADC_Channel_12来采集三路不同的电压信号,但是实验结果是三路采集信号是一样的,不知道是哪里的问题,程序编写是按照STM32库函数版本的ADC实验(单通道)改写的,没有使用DMA,请大家帮我看一下程序,不胜感激!

ADC配置

ADC配置

最佳答案

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

//获取ADC值 //ch:通道号 u16 Get_Adc(u8 ch) { ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5); //ADC1,ADC通道,采样时间为239.5周期 ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能ADC1软件启动转换 while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC)); //等待转换结束 return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果 } adc1 = Get_Adc ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-3-29 21:20:57 | 显示全部楼层
DMA.   用F1的芯片完全同时是不可能的,DMA可以最大限度减少这种时间差,如果要实现完全同时,可以用FPGA去实现
回复

使用道具 举报

1

主题

882

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3071
金钱
3071
注册时间
2018-2-7
在线时间
285 小时
发表于 2018-3-29 10:00:13 | 显示全部楼层
//获取ADC值
//ch:通道号
u16 Get_Adc(u8 ch)
{
    ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5);        //ADC1,ADC通道,采样时间为239.5周期
    ADC_SoftwareStartConvCmd(ADC1, ENABLE);                                                        //使能ADC1软件启动转换
    while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));                                        //等待转换结束
    return ADC_GetConversionValue(ADC1);                                                        //返回最近一次ADC1规则组的转换结果
}
adc1 = Get_Adc(ADC_Channel_1);
adc2 = Get_Adc(ADC_Channel_2);
adc3 = Get_Adc(ADC_Channel_3);
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 10:02:44 | 显示全部楼层
主程序中ADC采样程序
微信图片_20180329100142.png
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 10:04:26 | 显示全部楼层
:):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):):)
回复

使用道具 举报

28

主题

294

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2018-3-26
在线时间
294 小时
发表于 2018-3-29 10:28:28 | 显示全部楼层
你有没有给AD采样的接口一个电压值变化?连接下高电平什么的,再观察数据
茵茵猪头
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 10:34:48 | 显示全部楼层
htao 发表于 2018-3-29 10:28
你有没有给AD采样的接口一个电压值变化?连接下高电平什么的,再观察数据

没有啊  采样后的波形直接用示波器给显示出来了
回复

使用道具 举报

28

主题

294

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1790
金钱
1790
注册时间
2018-3-26
在线时间
294 小时
发表于 2018-3-29 10:41:00 | 显示全部楼层
15645121171 发表于 2018-3-29 10:34
没有啊  采样后的波形直接用示波器给显示出来了

我的意思是,你有没有给他电压值的变化,没给变化,它的波形当然处于平稳的状态,一个差不多的值
茵茵猪头
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 11:17:38 | 显示全部楼层
htao 发表于 2018-3-29 10:41
我的意思是,你有没有给他电压值的变化,没给变化,它的波形当然处于平稳的状态,一个差不多的值

给了。三路电压信号一直处于波动状态,0到3.3V之间波动,而且三路电压信号是不一样的
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 14:29:49 | 显示全部楼层
HXYDJ 发表于 2018-3-29 11:37
//获取ADC值
//ch:通道号
u16 Get_Adc(u8 ch)

你好。我是三个通道采样的啊,这样设置的话,不就是一个通道吗?
回复

使用道具 举报

4

主题

349

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1046
金钱
1046
注册时间
2017-5-19
在线时间
335 小时
发表于 2018-3-29 21:10:22 | 显示全部楼层
你再去好好看看ADC吧。。。多通道采集不用DMA,只能是一个采集完,读出数据,再切换为下一个通道,不然数据是会被覆盖的。 HXYDJ讲的是对的,不是你没弄懂就可以想怎么写就怎么写了
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 21:12:27 | 显示全部楼层
wxjhby 发表于 2018-3-29 21:10
你再去好好看看ADC吧。。。多通道采集不用DMA,只能是一个采集完,读出数据,再切换为下一个通道,不然数据 ...

好的  谢谢啊  我再试试
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-29 21:13:58 | 显示全部楼层
wxjhby 发表于 2018-3-29 21:10
你再去好好看看ADC吧。。。多通道采集不用DMA,只能是一个采集完,读出数据,再切换为下一个通道,不然数据 ...

如果三路电压信号需要同时采出呢,需要同时对三相电压信号进行算法处理
回复

使用道具 举报

1

主题

9

帖子

0

精华

新手入门

积分
17
金钱
17
注册时间
2018-3-29
在线时间
3 小时
 楼主| 发表于 2018-3-30 08:43:33 | 显示全部楼层
wxjhby 发表于 2018-3-29 21:20
DMA.   用F1的芯片完全同时是不可能的,DMA可以最大限度减少这种时间差,如果要实现完全同时,可以用FPGA去 ...

好的  谢谢
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-19 15:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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