750|1

181

帖子

1

TA的资源

一粒金砂(高级)

楼主
 

【ST NUCLEO-U5A5ZJ-Q开发板测评】4、ADC+DMA [复制链接]

STM32U5系列的资料:STM32U595/5A5: 相关PDF文档

STM32U5系列的DMA

  • GPDMA可以同时处理16个独立的数据传输任务,每个通道都有其自己的FIFO队列,用于排队源和目标传输。
  • 通过可编程的GPDMA输入触发器与GPDMA任务完成事件的连接,可以实现通道间和通道内的传输链接。
  • 对于每个链表项,可以单独编程源和目标传输,还可以编程源和目标之间的数据处理方式,如字节重排、打包或解包、填充或截断、符号扩展和左右对齐。
  • 支持scatter-gather (multi-buffer transfers)

 

 

Continuous Conversion Mode:连续转换模式:使能

DMA Continuous Requests:DMA连续请求:使能

 

Go to GPDMA1

 

开启中断

 

配置链表:

 

 

串口打印ADC采样值,并转换为电压值,板载PC2测量的是VBUS_SENSE,ADC测量未接入TypeC时电压是0V,接入后是0.67V;

 

 

我的是cubeMX6.8.1生成的工程,没有链表头文件和ADC的VDDA电压开启,所以都需要单独引入和打开

程序首先引用头文件

 

/* USER CODE BEGIN Includes */
#include "stdio.h"
#include "linked_list.h"
/* USER CODE END Includes */

串口重定义,并且外部调用linked_list链表中的声明变量,定义一个转化数组

#ifdef __GNUC__
    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif
    PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&huart1 , (uint8_t *)&ch, 1, 0xFFFF); return ch; }

extern DMA_NodeTypeDef ADCNode;
extern DMA_QListTypeDef ADCQueue;
extern ADC_HandleTypeDef hadc1;
extern DMA_HandleTypeDef handle_GPDMA1_Channel10;

#define ADC_CONVERTED_DATA_BUFFER_SIZE   ((uint32_t)  32)   /* Size of array aADCxConvertedData[] */
/* Variable containing ADC conversions data */
uint32_t   aADCxConvertedData[ADC_CONVERTED_DATA_BUFFE

在main函数中配置ADC,并将ADC与链表进行链接

HAL_PWREx_EnableVddA();
MX_ADCQueue_Config();
__HAL_LINKDMA(&hadc1, DMA_Handle, handle_GPDMA1_Channel10);
if (HAL_DMAEx_List_LinkQ(&handle_GPDMA1_Channel10, &ADCQueue) != HAL_OK)
{
    Error_Handler();
}
if (HAL_ADC_Start_DMA(&hadc1,(uint32_t *)aADCxConvertedData,(ADC_CONVERTED_DATA_BUFFER_SIZE)) != HAL_OK)
{
    Error_Handler();
}

在while(1)中

printf("ADC VaL:%ld voltage:%.4f \r\n   ", aADCxConvertedData[0], (float)(aADCxConvertedData[0])*3.3/16384);

 

 

 

 

此帖出自stm32/stm8论坛

最新回复

在main函数中配置ADC,并将ADC与链表进行链接,好的,原来可以这样   详情 回复 发表于 2024-3-10 14:57
点赞 关注
 

回复
举报

6807

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

在main函数中配置ADC,并将ADC与链表进行链接,好的,原来可以这样

此帖出自stm32/stm8论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表