VC++循环采集显示问题====各位大侠帮忙
我是搞嵌入式的,因为毕业设计要做一个上位机软件接收USB传来的数据:我设了一个按钮叫"采集数据",我想按下它之后,在它的响应函数里循环读取USB端口数据,然后用Edit Box控件显示,现在的问题是,如果不加while(1)无限循环,只是读一次显示一次,是正常的,但一加while循环,edit box就再也不显示了.
好像是按下"数据采集"之后,要等本次按键程序全部结束后,才更新Edit Box的内容,我想实时更新,有什么办法?
这是"开始采集"按钮的响应函数:关键是,在执行死循环后,Edit box控件不更新内容,必须等到这个响应函数结束后才更新内容.
void CUsbIICRWDlg::OnButtonup()
{
unsigned char buf[100];//USB接收数据缓冲
m_bt.SetWindowText("停止采集");
UpdateData(TRUE);
char cc[10]; //浮点数转字符型的缓存
double a; //定义浮点变量
while(1)//开始死循环
{
if(ReadPort2(buf,64)!=0)//接收usb端口的数据
{
MessageBox((LPCSTR)"读端口2失败!", "提示", MB_ICONSTOP);
return;
}
for( i=0;i<64;i++)//usb端口共64字节数据,处理64次
{
a=(double)buf[i]/51;
gcvt(a, 3, cc); //浮点数转字符型
m_strUp=cc;//将字符给Edit Box控件
UpdateData(FALSE); //更新控件,关键是,在while循环中,Edit Box并未更新
}
Sleep(300);//延时
}
}