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

【STM32G4 NUCLEO G431RB】3.简单的电位器 AD

[复制链接]
jundao721 发布时间:2019-9-13 11:29
A/D功能在模拟信号采集中用的很多,查看DATASHEET,该款芯片有两个AD可用,通道数达到23个。查看了一下例程,通过例程来学习理解G431的AD应用。这次测试找了一个小电位器,焊几根线到测试板上,连接3.3V,GND,PA1,就可以进行测试了。如图1所示:
通过例程学习到,AD通过TIM1触发,DMA管理来完成数据转换的,移植过来,理解一下即可。
还是初始化时钟,依然使用内部时钟。初始化引脚,初始化外设功能,部分参考代码如下:
此处需要修改
  1. sConfig.Channel = ADC_CHANNEL_2;//ADC_CHANNEL_6;
  2.   sConfig.Rank = ADC_REGULAR_RANK_1;
  3.   sConfig.SamplingTime = ADC_SAMPLETIME_640CYCLES_5;
  4.   sConfig.SingleDiff = ADC_SINGLE_ENDED;
  5.   sConfig.OffsetNumber = ADC_OFFSET_NONE;
  6.   sConfig.Offset = 0;
  7.   if (HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK)
  8.   {
  9.     Error_Handler();
  10.   }
复制代码
  1. __HAL_RCC_ADC12_CLK_ENABLE();
  2.   
  3.     __HAL_RCC_GPIOA_CLK_ENABLE();
  4. GPIO_InitStruct.Pin = GPIO_PIN_1;
  5.     GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
  6.     GPIO_InitStruct.Pull = GPIO_NOPULL;
  7.     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
复制代码
其他的可参照例程理解。
编译,下载,通过DEBUG模式,将转换数据加载到watch1窗口中,通过螺丝刀转动电位器,观测电位器数值的变化,如图2所示。
最小值为0,最大值并不是预想的0xFFF。又看了一遍datasheet,A/D的转换范围为0-3.6V,板子上接的3.3V,想来原因就是这个。如图3所示。
关于A/D的数值抖动,的确是需要做些处理

图1

图1

图2

图2

图3

图3
收藏 1 评论1 发布时间:2019-9-13 11:29

举报

1个回答
Kevin201707 回答时间:2019-9-16 13:41:50
收藏

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版