STM32单片机采集模拟电压转换为数字信号(stm32cubemx+keil+proteus+c)

 本文参考了CSDN博主安迪西ADC模数转换的文章代码,作对正弦曲线(or比如温度压强等)的模数转换(0-3.3转0-4096)由于proteus virtual terminal难以输出单精度或双精度实数,故直接输出0-4096,若要转为电压可以0-4096*3.3/4096即可

 以下代码截自CSDN博主「安迪西」

while (1){
  HAL_ADC_Start(&hadc1);    //启动ADC转换
  HAL_ADC_PollForConversion(&hadc1,10);    //等待转换完成,10ms表示超时时间
  AD_Value = HAL_ADC_GetValue(&hadc1);    //读取ADC转换数据(12位数据)
  printf("ADC1_IN1 ADC value: %d\r\n",AD_Value);
  Vol_Value = AD_Value*(3.3/4096);    //AD值乘以分辨率即为电压值
  printf("ADC1_IN1 VOL value: %.2fV\r\n",Vol_Value);
  
  HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_0);
  HAL_Delay(1000);
}


 

 

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值