SPCOMM 中断问题!先谢了(50分)

  • 主题发起人 主题发起人 ForCode
  • 开始时间 开始时间
F

ForCode

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