AT89S52用C语言编程的问题
发布网友
发布时间:2022-05-17 15:58
我来回答
共3个回答
热心网友
时间:2023-10-28 05:20
c#界面绘制的时候,底层重绘每次会清除画布背景,然后再全部重新绘制,这才是导致闪烁最主要的原因。于是重载消息发送函数操作,禁掉这条消息。代码如下:
protected override void WndProc(ref Message m)
{
if (m.Msg == 0x0014) // 禁掉清除背景消息
return;
base.WndProc(ref m);
}追问你在说什么?我怎么看不明白
热心网友
时间:2023-10-28 05:21
需要给你写吗
热心网友
时间:2023-10-28 05:21
经过测试,程序没问题,以下这段是到达了的:
k=abs(ctemp1); //取温度绝对值
dispram[0]=k%10; //取个位数送显示
k/=10; //取十位数
dispram[1]=k? k:0x11; //送显示(带灭零)
C++测试程序如下:
#include <stdio.h>
#include<iostream>
using namespace std;
int main(){
int i, j,k;
while (1)
{ i=1;
do{
for (j=0;j<100;j++) {
printf("calling display\n");
printf("calling coolctr\n");
}
printf("calling tmptest1\n"); //ÿ0.5s½øÐÐÒ»´Î²âÎÂ
printf("calling tmptest2\n"); //ÿ0.5s½øÐÐÒ»´Î²âÎÂ
printf("i= %d\n", i);
cin >> k;
}
while (--i); //ͨ¹ý¸Ä±äÑ»·´ÎÊýiµÄ´óС¾ö¶¨ÊÇ·ñË¢ÐÂÏÔʾ
printf("enter here\n");
printf("i= %d\n", i);
cin >> k;
}//end while (1)
return 0;
}
进入do循环中i==1;出来后i==0;便到达你所说不执行的语句了。你认为没有执行,但实际可能执行了,只是因为送显示后没显示出来,使你认为没有执行。