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

stm32f103采集信号问题求助?

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
stm32f103能采集幅值为200mv频率为1KH正弦波信号吗?我用列程能采集直流电压,把程序中的u16 Get_Adc_Average(u8 ch,u8 times)
, X. y% d' I  c8 U( y, e: Q0 o{2 n, c6 F9 {  ~1 ]9 A
    u32 temp_val=0;' V3 u! B- H4 g/ |3 S
    u8 t;4 {! A4 o' r8 w* W3 u
    u8 a;
, l. F" t2 M1 Z% A; _( {" Y    for(t=0;t<times;t++)
7 Z/ P* D9 O. u( G    {
& r7 X8 q: q' U, [# u, @( `2 ?        a=Get_Adc(ch);
5 w7 S! ]& C  ]/ @        temp_val+=a;5 y5 |( u9 [1 e
        delay_ms(5);9 _  U( f( e9 n. @2 Y7 f
    }; \! E  {+ U3 R3 b9 B
    return temp_val/times;+ n3 D7 U# P6 q0 x$ N. f7 z' D
}      
1 y+ @0 a! e- w  j/ E改成
: V# S% s# v  ~* r; ~6 Ju16 Get_Adc_Average(u8 ch,u8 times)
; z; t+ E/ g& Y  |1 X+ j6 Y{9 _4 z' Y! |9 L; V4 H
    u32 temp_val=0;
2 \( u3 Q; \, ?+ C" ^1 Y3 u  H    u8 t;
2 C5 l, E7 x: K) b- u* m- I    temp_val=Get_Adc(ch);8 A( B' m/ j% L* K; l
    temp_val=0;
( I8 R( Q+ d5 I8 @/ A& x0 Q0 n8 x    for(t=0;t<times;t++); g4 e: T! J- E0 R9 x" o
    {
: g0 }* A* N- U: T  J* }' j6 u3 v        temp_val+=Get_Adc(ch)*Get_Adc(ch);
+ B9 m" M  b/ \' e7 [+ O, d; T9 R        //delay_ms(5);3 T! S( q6 B4 O% m
    }! |+ }% v) [# {* S  y+ P6 x
    return sqrt(temp_val/times);: f! A% F* `% X& e! W, v: Y
}      直接采集幅值为200mv频率为1KH正弦波信号为啥不行?如何改程序?: b5 _3 u, f, O8 a$ N* K8 V( ^" x

2 ]4 m% }* s9 T5 m& m

该用户从未签到

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-6-24 09:42 , Processed in 0.078125 second(s), 23 queries , Gzip On.

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

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

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