找回密码
 注册
关于网站域名变更的通知
查看: 471|回复: 2
打印 上一主题 下一主题

stm32f103采集信号问题求助?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-1-10 08:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
stm32f103能采集幅值为200mv频率为1KH正弦波信号吗?我用列程能采集直流电压,把程序中的u16 Get_Adc_Average(u8 ch,u8 times)
- ?4 T) x# \$ G( R{4 U9 G2 I# w" {( x
    u32 temp_val=0;
* \2 r4 J* F6 \" U& o    u8 t;& N* i4 c5 P4 O; ]
    u8 a;3 q  `5 d5 H, Z4 D) d. u+ r
    for(t=0;t<times;t++)$ I: f  |( [8 }+ Q5 S- F9 Z
    {
5 o! I" H  u0 n1 q        a=Get_Adc(ch);3 `& a9 l0 @8 F1 ?
        temp_val+=a;2 v* r: A, X3 U3 k$ j
        delay_ms(5);
. k' P/ Z; N4 m    }
1 r" T( y; g$ E7 J1 F! z' ]    return temp_val/times;
6 C" C8 p) J1 h2 y}      4 i# }; y9 s4 P# `5 T1 J/ D3 n
改成
! r- }3 ?4 e/ U! o9 Z7 @& ju16 Get_Adc_Average(u8 ch,u8 times)8 {1 `7 i  d3 n0 m0 G* M
{! K: P- G  Z: I1 O5 X+ @% r
    u32 temp_val=0;
/ l3 n) V7 _8 A* ]$ F4 L    u8 t;
' T# O& g5 _& l+ U* a5 S- K  O    temp_val=Get_Adc(ch);
. p# u' ^0 l; Z2 n$ L( W4 T' U    temp_val=0;
* a! G: ?- J$ B+ O7 V$ h" q0 K# d    for(t=0;t<times;t++)
1 {  ?  \  B* y( |9 y, g    {* I3 z) Z; Z& H/ n4 y# v9 d% c+ H
        temp_val+=Get_Adc(ch)*Get_Adc(ch);
# g  J; Q# ?0 _+ f3 M* Y7 Y) J        //delay_ms(5);
. m$ r0 i  Y, q5 e5 S    }
. b6 Q. ?# y% T6 P, y    return sqrt(temp_val/times);
' ^; c/ R% R  e}      直接采集幅值为200mv频率为1KH正弦波信号为啥不行?如何改程序?5 H- f2 I. U4 d/ W

( e% ?$ n  f4 c* {

该用户从未签到

2#
发表于 2020-1-10 09:53 | 只看该作者
先采集固定电压是对的,说明硬件没问题,然后采集快速信建议用DMA+ADC,程序中最好不要用硬延时,除非你这干件事。

该用户从未签到

3#
发表于 2020-1-10 16:14 | 只看该作者
要想充分利用ADC量程,200mV信号要先放大,且须叠加在直流电平上,以1/2Vcc为中心,上下峰值尽量接近0和Vcc。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-24 19:28 , Processed in 0.109375 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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