主线程与子线程
我要的效果是: 点击一个按钮然后以9600的波特率发送三个指令,发送完后把波特率设置为38400进行后面的通信。
这个串口通信我用的是一个类(CSerialPort),这个类在创建了对象进行发送数据时它是自己起了一个线程。
我得大致用法如下:
object.setbaud( 9600 );
object.send( "command1 " );
object.send( "command2 " );
object.send( "command3 " );
object.setbaud( 38400 );
但是在实际应用时如果直接这样用的实际执行结果是如下的:
object.setbaud( 9600 );
object.setbaud( 38400 );
object.send( "command1 " );
object.send( "command2 " );
object.send( "command3 " );
如果在每一个操作时加一个sleep(10)基本上就能解决问题。但是对于不同的机器执行效果也不一样。
在我的机子上执行正常,但是在别人的机子上大部分的执行结果如下:
object.setbaud( 9600 );
Sleep( 10 );
object.send( "command1 " );
Sleep( 10 );
object.send( "command2 " );
Sleep( 10 );
object.setbaud( 38400 );
Sleep( 10 );
object.send( "command3 " );
Sleep( 10 );
最后程序肯定是在各种各样的机子上使用的,我想有没有能够肯定按照上面的顺序执行的方法。
谢谢!!
[解决办法]
发送地方了哦。