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);
}

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值