本篇演示使用cubeMX配置STM32单通道ADC,话不多说,开始正文。
一、前期准备
1、硬件:
- STM32C8T6最小系统板
- USB-TTL串口模块
- ST-Link下载器
2、软件:
- keil5-IDE
- cubeMX
二、cubeMX配置
1、配置RCC——选着外部时钟源
2、配置SYS—— Serial Wire模式
3、时钟树拉满72M
4、配置串口1
5、配置ADC
6、生成工程
三、keil5代码
1、串口配置
①勾选使用微库
②usart.c添加如下代码
#include "stdio.h"
int fputc(int ch,FILE *f)
{
HAL_UART_Transmit (&huart1 ,(uint8_t *)&ch,1,HAL_MAX_DELAY );
return ch;
}
2、main函数
①添加头文件
#include "stdio.h"
②while(1)前添加
HAL_ADCEx_Calibration_Start(&hadc1); //AD校准
HAL_ADC_Start(&hadc1);
③while(1)中添加
static float value=0;
value=HAL_ADC_GetValue(&hadc1);
printf("当前检测值为:%.2f V\r\n",value/4095*3.3);
HAL_Delay(500);
四、效果
本文目的在于自我记录,没有大费篇幅讲解原理,
若想更进一步了解推荐跳转:【STM32】HAL库 STM32CubeMX教程九---ADC