ST意法半导体
直播中

陆军航空兵

8年用户 805经验值
私信 关注
[问答]

STM32f103c8 ADC错误,恒定错误值和不稳定的输出怎么解决?

我正在尝试使用 STM32F103C8 创建 ADC。我使用的软件有:
一种。STM32CubeMX
b. Keil Vision--V5
C。监视串行输出的 Hercules
STM 的时钟设置为 72 Mhz,ADC 为 12 Mhz
代码 :-
而 (1)
{
   /* 用户代码结束 */
      HAL_ADC_Start(&hadc1);
      HAL_ADC_PollForConversion(&hadc1,300);
      raw = HAL_ADC_GetValue(&hadc1);
      float vin = (double)raw*(3.3/4096);
      sprintf(msg1,"Vol = %.2f, HEX Value = %.4x
",vin, raw);
      HAL_UART_Transmit(&huart1,(uint8_t*)msg1,sizeof(msg1),300);
   HAL_延迟(1000);
   /* 用户代码开始 3 */
}
当 ADC 的输入电压为零时,我得到大约 1.69 伏特的恒定直流输出(附上屏幕截图)。在提供 0 - 3.3 伏之间的任何电压值后,输出在 0 到 3.3 伏之间有争议地变化。
我检查了输入参考电压,它是 3.3 伏。你能建议我如何解决这个问题吗?我打印了函数 HAL_ADC_GetValue(&hadc1) 输出的十六进制值。








回帖(1)

李亚东

2022-12-29 14:45:48
> 当 ADC 的输入电压为零时,我得到大约 1.69 伏的恒定直流输出
我猜,您已经让输入悬空(未连接)- ADC 输出未定义。
零输入意味着输入接地。
JW
举报

更多回帖

发帖
×
20
完善资料,
赚取积分