F ForCode Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-29 #1 我在用SPCOMM与单片机通讯的时间,单片机先发送字节长度N,然后再发送N长度的数据。如何 设置接收到N字节的数据后才觖发一次中断呢,我一直用ReadIntervalTimeout来触发中断!
S SS2000 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-29 #2 等到Buffer中有一定个数的字节后再收的功能 这个问题可以做到,如果你想做的话。但是你需要修改SPComm控件,或者说增强SPComm 的功能,因为目前的SPComm做不到 具体方法是在 procedure TReadThread.Execute;函数中 定义有 szInputBuffer: array[0..INPUTBUFFERSIZE-1] of Char; 修改INPUTBUFFERSIZE这个值成为你所要的值,同时把ReadIntervalTimeout属性值 设置为0,这样在获得指定的字节数之后才会发出接收消息
等到Buffer中有一定个数的字节后再收的功能 这个问题可以做到,如果你想做的话。但是你需要修改SPComm控件,或者说增强SPComm 的功能,因为目前的SPComm做不到 具体方法是在 procedure TReadThread.Execute;函数中 定义有 szInputBuffer: array[0..INPUTBUFFERSIZE-1] of Char; 修改INPUTBUFFERSIZE这个值成为你所要的值,同时把ReadIntervalTimeout属性值 设置为0,这样在获得指定的字节数之后才会发出接收消息
S SupermanTm Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-30 #3 接收到N字节再处理的方法对于跟单片机打交道的程序不太可靠的,你无法确保报文的完整性的, 如果收到一半单片机死掉了或者被WDG复位了你怎么办?