S smell29 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #1 我要计算机和单片机通讯。是用R232通讯的。我在网上下载了一个串口控件。我的通讯已经实现了。但是我发数据是用的线程,接收数据我不知道怎么用线程接收。因为这个控件的用消息来接收的。只要我的这个程序一开始运行,我CPU就达到了100%的运行。请问各位有什么好的方法来实现串口通讯的。谢谢了!!!!
我要计算机和单片机通讯。是用R232通讯的。我在网上下载了一个串口控件。我的通讯已经实现了。但是我发数据是用的线程,接收数据我不知道怎么用线程接收。因为这个控件的用消息来接收的。只要我的这个程序一开始运行,我CPU就达到了100%的运行。请问各位有什么好的方法来实现串口通讯的。谢谢了!!!!
S smell29 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #2 我要计算机和单片机通讯。是用R232通讯的。我在网上下载了一个串口控件。我的通讯已经实现了。但是我发数据是用的线程,接收数据我不知道怎么用线程接收。因为这个控件的用消息来接收的。只要我的这个程序一开始运行,我CPU就达到了100%的运行。请问各位有什么好的方法来实现串口通讯的。谢谢了!!!!
我要计算机和单片机通讯。是用R232通讯的。我在网上下载了一个串口控件。我的通讯已经实现了。但是我发数据是用的线程,接收数据我不知道怎么用线程接收。因为这个控件的用消息来接收的。只要我的这个程序一开始运行,我CPU就达到了100%的运行。请问各位有什么好的方法来实现串口通讯的。谢谢了!!!!
Y ywy32 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #3 你用spcom控件,这个控件有接受数据包的方法 onReceiveData的方法 var s : string; begin setlength(s,Bufferlength); move(Buffer^,Pchar(s)^,length(s)); //串口发过来的数据就可以接收到s中了! end;
你用spcom控件,这个控件有接受数据包的方法 onReceiveData的方法 var s : string; begin setlength(s,Bufferlength); move(Buffer^,Pchar(s)^,length(s)); //串口发过来的数据就可以接收到s中了! end;
时 时报平 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #4 用微软的mscomm控件也不错的。 有完善的接收发送机制。
S smell29 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #5 ywy32:谢谢你!!!!这是个消息接收的。占用CPU。我想用线程接收。看看你有什么好的方法吗?
S smell29 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #6 谢谢!!!我看看mscomm.到那里下载这个控件!!
F fengfan Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #7 cpu占用100%确定是接收造成的吗??既然发送是在线程中,接收当然也可以在线程中了.
S smell29 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #8 是接收造成的。接收我就是不知道怎么才能写到线程里的。你有这方面的例子能否告诉小弟!当然源码是更好了。QQ103478526;smell29@sohu.com
T thx1180 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-23 #9 SPComm控件就是用线程并且是异步收发的,仔细看看他的源代码就知道怎么用了[]
笑 笑江横 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-29 #10 同意楼上的,只要你打开串口,有数据发送到串口,SPComm就能接收数据,你在接收事件中处理接收到的数据就可以了
来 来如风 Unregistered / Unconfirmed GUEST, unregistred user! 2005-03-29 #11 在你接收的线程里添上一个sleep就可以解决CPU居高不下的问题了, 我一直都是这么做的