计算 C 程序中的剩余百分比
Calculating Percentage Remaining in C Program
我正在为 NXP MCU 板开发代码。我必须使用C编程语言。
我的目标:
使用超声波传感器测量距离。预定义距离 = 180cm。输出应该是以百分比表示的剩余距离。例如:如果传感器测量的距离是100cm,那么计算后的输出应该是:44.44% 如果测量的距离是180+,那么计算后的输出应该是负百分比。
问题:我开发了如下代码。在代码中进行数学运算(数字操作)之前,传感器按预期给出 cm 的输出,这在 TeraTerm 上观察到了。但是当我在代码中添加一些与数学相关的行时,输出现在是空白的。传感器工作正常,但在向代码添加公式后,我没有得到计算输出。以下是我的代码:
#include "mbed.h"
#include "hcsr04.h"
HCSR04 usensor1(A4,A5);
unsigned int distance;
float dist_remaining;
float dist_percent;
int main()
{
int a = 180;
while(1)
{
usensor1.start();
wait_ms(500);
distance = usensor1.get_dist_cm();
dist_remaining = a-distance;
dist_percent = (dist_remaining/180)*100;
printf("\n\rPercent remaining: ", dist_percent );
}
}
输出: Output Screenshot
能否请您检查并让我知道这里计算从传感器获得的 int distance
是否有任何错误?我对 C 编程语言不是很熟悉。因此,我将感谢您提供的任何帮助。感谢您的时间和帮助。
感谢 Dmitri,更改以下 printf
行有效:
printf("\n\rPercent remaining: %f\n", dist_percent);
也感谢 FredK 和 Yunnosch。感谢您的帮助。
我正在为 NXP MCU 板开发代码。我必须使用C编程语言。
我的目标: 使用超声波传感器测量距离。预定义距离 = 180cm。输出应该是以百分比表示的剩余距离。例如:如果传感器测量的距离是100cm,那么计算后的输出应该是:44.44% 如果测量的距离是180+,那么计算后的输出应该是负百分比。
问题:我开发了如下代码。在代码中进行数学运算(数字操作)之前,传感器按预期给出 cm 的输出,这在 TeraTerm 上观察到了。但是当我在代码中添加一些与数学相关的行时,输出现在是空白的。传感器工作正常,但在向代码添加公式后,我没有得到计算输出。以下是我的代码:
#include "mbed.h"
#include "hcsr04.h"
HCSR04 usensor1(A4,A5);
unsigned int distance;
float dist_remaining;
float dist_percent;
int main()
{
int a = 180;
while(1)
{
usensor1.start();
wait_ms(500);
distance = usensor1.get_dist_cm();
dist_remaining = a-distance;
dist_percent = (dist_remaining/180)*100;
printf("\n\rPercent remaining: ", dist_percent );
}
}
输出: Output Screenshot
能否请您检查并让我知道这里计算从传感器获得的 int distance
是否有任何错误?我对 C 编程语言不是很熟悉。因此,我将感谢您提供的任何帮助。感谢您的时间和帮助。
感谢 Dmitri,更改以下 printf
行有效:
printf("\n\rPercent remaining: %f\n", dist_percent);
也感谢 FredK 和 Yunnosch。感谢您的帮助。