|
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* { |
|