STMCubeIDE 调试实时表达式

问题描述

我在 STMCubeIDE 上遇到了实时表达式问题。我的问题是我在 Live Expression 上看不到我的变量。我正在尝试计算电压,这就是我将 adc 与 dma 一起使用的原因。我有一个 adc_val[3] 数组,我可以看到我计算出来的数组变量,但是我看不到我计算出来的电压变量,就像你在图片上看到的那样。

define of the variables

Convert that i measured value to mV

我的问题是,如何在实时表情上看到 adc_mV1、adc_mV2、adc_mV3?

AuctionTable

解决方法

您的问题不是实时表达式,而是您的 C 代码。

adc_mV1 = (3300/4096)*adc_val[0];

这总是 0。

(3300/4096) 将作为整数除法执行,结果为零,因此您的电压也将始终为零。

为了避免浮点计算,您可以使用:

adc_mV1= (3300*adc_val[0]) / 4096;