STM32F373 SDADC DMA HAL

一、配置CUBE

选择通道,以0v为参考点

 参考电源选用外部基准源

输入模式选用单输入

软件触发

选择通道

 添加DMA

循环模式

半个字(16位)

 二、代码

/* USER CODE BEGIN PD */
#define data 1
int16_t SDADC_Value[data]={0};
float vol;
/* USER CODE END PD */

注意,定义SDADC的变量必须是int16型。因为单输入通道读到的ADC值为-32767-32767,若是输入电压为基准电压的一半以下则ADC读到的数值为负值。计算实际的电压值为Vol=\frac{(readadc+32767)*Vref}{65535}

while(1)
{
    HAL_SDADC_InjectedStart_DMA(&hsdadc1, (uint32_t*)SDADC_Value,data);
    vol=(SDADC_Value[0]+32767)*2.5/65535;
    printf("%.5f\r\n",vol);
}

STM32F 系列的空闲中断 DMA HAL 库是什么? STM32F 系列是意法半导体公司(STMicroelectronics)推出的一系列32位的嵌入式微控制器。空闲中断是其中一种中断类型,当 CPU 空闲时会触发该中断。DMA(Direct Memory Access)是一种数据传输方式,允许数据在外设和内存之间直接传输,减少 CPU 的负担。HAL(Hardware Abstraction Layer)库是一个软件库,提供了对硬件设备的抽象接口,简化了开发过程。 空闲中断 DMA HAL 库是一种实现空闲中断和 DMA 功能的软件库。它结合了空闲中断和 DMA,提供了一种高效的数据传输方式。当 CPU 空闲时,可以通过空闲中断来触发 DMA 数据传输操作,从而实现高速、低延迟的数据传输。使用这个库,开发人员可以简化数据传输的编程过程,提高系统性能和效率。 使用 STM32F 系列的空闲中断 DMA HAL 库,开发人员可以通过简单的函数调用来配置和使用空闲中断和 DMA 功能。首先,需要初始化空闲中断和 DMA 模块,并设置相应的中断处理函数。然后,可以配置和启动 DMA 传输,指定数据源和目的地的地址以及数据长度。在配置完毕后,当 CPU 空闲时,会触发空闲中断并启动 DMA 传输。最后,可以在中断处理函数中进行数据处理或其他操作。 总结而言,STM32F 系列的空闲中断 DMA HAL 库是一种方便、高效的数据传输解决方案。它结合了空闲中断和 DMA 功能,提供了简化的编程接口,使开发人员能够更轻松地使用这些功能,并提高系统的性能和效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值