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

基于STM32 HAL ADC多通道经验分享

[复制链接]
攻城狮Melo 发布时间:2023-4-16 21:08
stm32F103c8系列的ADC ,本次选用PA2,PA3

aedf86ec9dc441b28661ecd0983e4def.png

e96d7648e01c4c7c84ac044f920ae312.png

Scan Conversion Mode( 扫描模式 ) 使用了多个通道ENABLE就是开启扫描模式,否则DISABLE

Continuous Conversion Mode(连续转换模式) 连续转换ENABLE,不连续则DISABLE开一次转换一次

Discontinuous Conversion Mode(间断模式) 多个通道则需使能ENABLE

number of Discontinous Conversions间断模式可以让扫描的2个通道进行分成四2个组,此为配置间断组每个组有几个通道的,这里必须配置为1(否则在获取ad值得时候只能读取到每个间断组最后一个通道)。

b231ee6290c94d83962fb2d9fe596004.png

Enable Regular Conversions (启用常规转换模式)  

Number OF Conversion(转换通道数)    用了两个

Extenal Trigger Conversion Source (外部触发转换源) 选软件触发

Rank 配置两个通道为哪个,且设置转换时间

用print函数输出串口,则在usart.c中加入以下函数且勾选Use MicroLIB
  1. /* USER CODE BEGIN 0 */
  2. #include<stdio.h>
  3. int fputc(int ch, FILE *f)
  4. {
  5.   HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff);
  6.   return ch;
  7. }

  8. /* USER CODE END 0 */
复制代码

ADC函数
  1.   /* USER CODE BEGIN 1 */
  2.         uint8_t i;
  3.         uint16_t adcBuf[2];
  4.   /* USER CODE END 1 */

  5.   /* USER CODE BEGIN 2 */
  6.         HAL_ADCEx_Calibration_Start(&hadc1);    //AD校准
  7.   /* USER CODE END 2 */
复制代码

HAL_ADC_Start(&hadc1);函数必须放入for,若不是则采集第一次的ADC通道,即PA2
  1.   while (1)
  2.   {
  3.     /* USER CODE END WHILE */               
  4.                 for(i=2;i<4;i++)
  5.                 {
  6.                                 HAL_ADC_Start(&hadc1); //此开始函数必须放入for,若不是则采集第一次的ADC通道,即PA2
  7.                                 HAL_ADC_PollForConversion(&hadc1,0xffff);
  8.                                 adcBuf[i]=HAL_ADC_GetValue(&hadc1);
  9.                                 printf("PA%d:  %.4fV\r\n",i,adcBuf[i]*3.3/4096);
  10.                 }
  11.                 HAL_ADC_Stop(&hadc1);
  12.                 HAL_Delay(1000);
  13.     /* USER CODE BEGIN 3 */
  14.   }
复制代码

————————————————
版权声明:@一二三四五
如有侵权请联系删除
收藏 评论0 发布时间:2023-4-16 21:08

举报

0个回答

所属标签

相似分享

官网相关资源

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