我制作了以下小部件。它包含持续更新价值。
但是当这个小工具处于静止状态时,它看起来是波动的。
E、P 和 Err 的值看起来是波动的。 它看起来不是很顺利。
我们如何解决?
char g_pRunningError[10];
画布(g_sRunningError、g_psPanel + 4、0、0、
g_sKentec320x240x16_SSD2119、195、131、110、28、
canva_style_fill | canva_style_text | canva_style_text_left |
canva_style_text_不透明、ClrBlack、ClrBlack、ClrWhite、
G_psFontCmss28、g_pcRunningError、0、0);
char g_pRunningPulse [10];
画布(g_sRunningPulse、g_psPanel + 4、&g_sRunningError、0、
&g_sKentec320x240x16_SSD2119、235、60、80、18、
canva_style_fill | canva_style_text | canva_style_text_left |
canva_style_text_不透明、ClrBlack、ClrBlack、ClrWhite、
G_psFontCms18、g_pcRunningPulse、0、0);
char g_pRunningEnergy [15];
画布(g_sRunnigEnergy、g_psPanel + 4、&g_sRunningPulse、0、
g_sKentec320x240x16_SSD2119、95、60、120、18、
canva_style_fill | canva_style_text | canva_style_text_left |
canva_style_text_不透明、ClrBlack、ClrBlack、ClrWhite、
G_psFontCms18、g_pcRunningEnergy、0、0);
画布(g_sProgressBar、g_psPanel + 4、&g_sRunnigEnergy、0、
&g_sKentec320x240x16_SSD2119、ANIM_LEFT、ANIM_TOP_ERROR、ANIM_width、ANIM_HEIGHT - 5、
canva_style_Outline,0,ClrGreen,0,0, 0、
0、0);
复选框(g_psCheckBox、g_psPanel + 4、&g_sProgressBar、0、
&g_sKentec320x240x16_SSD2119、20、114、50、
CB_Style_IMG、16、0、ClrRed、0、 0、0、0、
OnCheckChange);//
RectangularButton (g_sPushBtn、g_psPanel + 4、&g_psCheckBox、0、//脉冲源
&g_sKentec320x240x16_SSD2119、110、170、100、30、
PB_style_fill | PB_style_text | PB_style_text、ClrForestGreen、
ClrGray、ClrGray、ClrSilver、g_psFontCm22、
"start"、0、0、0、0、OnButtonPress);
画布(g_sErrorMeasurement、g_psPanel + 4、0、&g_sPushBtn、&g_sKentec320x240x16_SSD2119、
X_OFFSET、Y_OFFSET、(320 -(X_OFFSET*2))、205、
canva_style_app_eld_绘图、0、0、0、0、 0、0、OnErrorMeasurmentPaint);
下面是 while 循环中调用的函数
无效
UpdateError (float Accumuled_Energy、unsigned int Pulse、float 错误)
{
bool bIntDisabled;
bIntDisabled = IntMasterDisable();
if (Flag.N_Actual_Ready)
{
flag.N_actual_Ready=0;
calculate_error();
flag.Error_Displyed_Once = 1;
}
sprintf (g_pcRunningEnergy、"%0.2f"、累加能量);
sprintf (g_pcRunningPulse、"%d"的%d、Scanner Pulse Received、Temp_Pulse);
if ((Flag.Pulse 已接收)&&(Flag.Error_Displyed_Once=0))
{
ucstrpy (g_pRunningError、"---%"、sizeof (g_pRunningError));
}
其他
{
sprintf (g_pcRunningError、"%0.2f"、Error);
}
if (g_ui32Panel == 4)
{
WidgetPaint ((tWidget *)&g_sRunningError);
WidgetPaint ((tWidget *)&g_sRunnigEnergy);
WidgetPaint ((tWidget *)&g_sRunningPulse);
}
if (bIntDisabled = false)
{
IntMasterEnable();
}
}