STM32系列(HAL库)——多通道ADC转换+DMA
转换 系列 STM32 HAL ADC DMA 多通道
2023-09-11 14:21:44 时间
一、前期准备
1、硬件:
- STM32C8T6最小系统板
- USB-TTL串口模块
- ST-Link下载器
2、软件:
- keil5-IDE
- cubeMX
二、cubeMX配置
1、配置RCC——选着外部时钟源
2、配置SYS—— Serial Wire模式
3、时钟树拉满72M
- ADC时钟不能超过14M
4、配置串口1
5、配置DMA
- 这里只有最后第 6 步需要修改,需要修改为循环模式,如下图
6、配置ADC
- 开启扫描、连续模式
- number of converson 开了几个通道就选几
- Rank列表下是采样顺序,顺序基于已开启的通道可以自己设定
7、生成工程
三、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)前添加
uint16_t ADC_Value[3];
HAL_ADCEx_Calibration_Start(&hadc1); //AD校准
HAL_ADC_Start_DMA(&hadc1,(uint32_t*)ADC_Value,6);
③while(1)中添加
char str[64] ;
sprintf(str,"PA0电压:%.2fV PA1电压:%.2fV PA2电压:%.2fV",(ADC_Value[0]*3.3)/4095,(ADC_Value[1]*3.3)/4095,(ADC_Value[2]*3.3)/4095);
printf("%s\r\n",str) ;
HAL_Delay(1000) ;
四、效果
相关文章
- Java实现 LeetCode 552 学生出勤记录 II(数学转换?还是动态规划?)
- Python技巧—list与字符串互相转换
- 日志服务(原SLS)新功能发布(10)--Logtail配置支持日志转换、过滤
- OpenCV每日函数 杂项图像转换模块 (2) blendLinear图像线性混合函数
- 推荐一些工具:能够将k8s yaml转换为helm charts
- ABAP里几种整型数据类型的范围和转换
- Atitit 大数据体系树 艾提拉著 数据采集 gui自动化 爬虫 Nui自动化 Ocr技术 Tts语音处理 文档处理(office zip等) html文档处理解析 转换与处理
- TF之TFOD-API:基于tensorflow框架利用TFOD-API脚本文件将YoloV3训练好的.ckpt模型文件转换为推理时采用的.pb文件
- 为Gson设置日期数据的转换格式&GSON 相同名称不同类型:GSON的TypeAdapter系列用法
- java 字符串 大小写转换 、去掉首末端空格 、根据索引切割字符 、判断是否含有某连续字符串
- 很久没来这里,今天的评测java怪东西,左右Date类和时间戳转换
- e676. 把彩色图像转换为灰色
- ERROR:C2676 二进制“==”:“Student”不定义该运算符或到预定义运算符可接收的类型的转换
- 上手Pandas,带你玩转数据(5)-- 数据转换与数据定位
- 虚拟化系列教程:磁盘格式及格式转换
- python opencv 创建窗口,加载图片,显示图片,灰度转换,保存图片