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

STM32CubeMX-ADC数据采集

[复制链接]
STMCU 发布时间:2020-10-19 13:55
STM32CubeMX-ADC数据采集

ADC(Analog-to-Digital Converter)模数转换器
11.png                           
ADC外设的工作参数配置
12.png
ADC外设的工作参数配置
13.png
配置USART外设的工作参数
14.png
生成代码
    在main.c文件中设置所需变量,


  1. /* USER CODE BEGIN PV */
  2. // ADC转换值存放
  3. uint16_t adc_value = 0;
  4. // 电压值
  5. float voltage = 0.0;
  6. // 电压值结果显示
  7. char voltString[50] = {0};
  8. /* USER CODE END PV */
复制代码



  在while循环里,
  1. while (1)
  2.   {
  3.         // 启动ADC转换
  4.         HAL_ADC_Start(&hadc1);
  5.         // 等待转换完成,第二个参数表示超时时间,单位ms
  6.         HAL_ADC_PollForConversion(&hadc1, 100);
  7.         // 为换取ADC状态
  8.         adc_value = HAL_ADC_GetValue(&hadc1);
  9.         // 采取的右对齐除以2的12次方,参考电压为3.3V
  10.         voltage = (float)adc_value / 4096 * 3.3;
  11.         sprintf(voltString, "²É¼¯µ½µÄµçѹֵΪ: %.2f V", voltage);
  12.         printf("%s\r\n", voltString);
  13.         HAL_Delay(1000);
  14.     /* USER CODE END WHILE */

  15.     /* USER CODE BEGIN 3 */
  16.   }
复制代码


在USART.c添加,


  1. #include "usart.h"

  2. int fputc(int ch, FILE *f)
  3. {
  4.     HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);
  5.     return ch;
  6. }
复制代码


在USART.h添加,
  1. #include "main.h"
  2. #include <stdio.h>
复制代码






收藏 2 评论0 发布时间:2020-10-19 13:55

举报

0个回答

所属标签

相似分享

官方最新资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版