你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[自设STM32F103VET6测试LCD]5、ADC1测试

[复制链接]
zhjb1 发布时间:2019-1-2 10:15
这项测试原来认为比较简单,按照原来的设置后来减少为ADC1的通道1、通道6、通道7.通道4,5 留给DAC使用。, y- I! Y' ~7 Y$ [! v8 n: a4 C
因此修改STM32CubeMX为,见图24_2_1~4的选设。导出工程文件。& u: j* V, f) F3 k
现在自定义变量区,定义一下变量:
1 I* X7 y: y2 F) \1 ]uint16_t ADC_Result[4],adcx[4],adcNum=16;6 O+ B' ]' f, R) X# o4 @
在自定义程序区添加函数声明,如果函数在main前边,可以不用声明。
! A4 w% b3 n& N; v* p( ]: B- w( B5 h) Uvoid adcTest(void);$ h9 i; c6 o2 T! D" d& A2 T; a
主函数main里添加:
$ `% }# K' S/ x; f9 k( e$ BMX_ADC1_Init();6 C+ r2 ]- A6 q* {# c
在循环体中将刚才的printf函数改成:0 V! _- E+ ~4 ?( Y
printf("ADC1=%4d ADC2=%4d ADC3=%4d \n\r", adcx[0],adcx[1],adcx[2]);/ U/ t- Z' Y5 {2 ^! v
在主函数后边添加:2 S! V! V, [- R: P
//ADC Test& X7 a# T: {' ~5 n. F. B
void adcTest(void){
1 F! X- z+ Y' F; W/ V  j int i;" B. H" I% v8 ^/ K1 ]$ n
adcx[0]=adcx[1]=adcx[2]=0;/ W+ }% ?9 s& s2 H0 e
for(i=0;i<adcNum;i++){. B' j8 c& x- m) Q% V: c9 e
  HAL_ADCEx_Calibration_Start(&hadc1);//PA_1,6,7
8 i8 j* i# I0 x3 c9 L5 L# a/ p  HAL_ADC_Start_DMA(&hadc1,(uint32_t*)&ADC_Result,ADC_NUMOFCHANNEL);; x- B8 D/ p# \! z( m
  adcx[0]+=ADC_Result[1];4 l+ ]) M, T% W
  adcx[1]+=ADC_Result[2];
( C) `4 W" p2 ^, S/ d* V  j  adcx[2]+=ADC_Result[3];6 Z( p1 s* A7 k6 B* S; E" S' ?
}2 q5 k3 Y0 ?; R- `
adcx[0]=adcx[0]/adcNum;adcx[1]=adcx[1]/adcNum;adcx[2]=adcx[2]/adcNum;
  n! t" m0 Q2 L}0 V4 ~8 W# R2 ], n8 v2 s9 K
次函数的作用是调用测试一轮ADC 的3个输入通道,测试次数由adcNum的只值决定,本例为16次平均。5 l/ B4 _* J* F0 D! R! j8 i9 G
结果见截图23_2_5。
# j7 n$ t7 C4 n, f$ z0 d
8 v- M. _5 \3 O4 {' x

23-5

23-5

23-5

23-5

23-5

23-5

23-5

23-5

23-5

23-5
赞 收藏 评论1 发布时间:2019-1-2 10:15

举报

1个回答
STMCU-管管 回答时间:2019-1-24 14:19:29
谢谢分享

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版