vc中回调函数里的变量值怎么调出来?

来源:百度知道 编辑:UC知道 时间:2024/07/07 12:09:02
void CALLBACK cntirq(int port)
//中断服务函数(手工生成函数)
{
char ibuf[30];
sio_read(2,ibuf,10);//接收数据
ReceiveData=(CString)ibuf;

}

当我在程序外显示ReceiveData时,怎么就乱码了呢?回调函数里是正确读取了串口值的。
sio_read(2,ReceiveData,10)难道就可以在外部调用ReceiveData了吗?

要copy出去,或者 ReceiveData直接声明成 char[] 然后 sio_read(2,ReceiveData,10)算了。

你这个代码里 ibuf是在栈上的,一旦退出程序这部分内存就回收了,再试图使用当然出错

你能写ReceiveData=(CString)ibuf; 难道不是说可以用这个变量么?。。