1.msdn里说:
handshake模式下: The driver raises the RTS line when the type-ahead (input) buffer is less than half full and lowers the RTS line when the buffer is more than three-quarters full.
详见:http://msdn.microsoft.com/en-us/library/ee488022(v=WinEmbedded.60).aspx
2.但是我的芯片硬件流控却是:buffer空的时候,RTS为低电平;满的时候为高电平,和MSDN相反。
有没有人能告诉我怎么回事?我在网上找了找标准,也没找到说清楚了的
补充:其实其他的三个模式,客户也都要求是和MSDN反的。不理解了,难道是有两种标准?那不乱套了。。
5 个解决方案
#1
要是正常平时是为高电平,有数据才为低,也就是你说的反了。
#2
这里说的我认为是所谓空就是inbuffer 大于1/2 到3/4期间认作空,输出高电平,符合我们用的习惯。
#3
我仔细想了下,关于HANDSHAKE 模式下,MSDN里其实讲的是232电平,那么所谓的‘raises the RTS line’应该对应的是逻辑0,‘lowers the RTS line’是逻辑1,这样就一致了。我想应该是这么回事。大家怎么看?
#4
至于其他三个模式,客户估计是搞错了。
#5
其他三个模式,msdn里讲的我之前也理解错了,里面所说的ON其实也是低电平。disable为高电平
#1
要是正常平时是为高电平,有数据才为低,也就是你说的反了。
#2
这里说的我认为是所谓空就是inbuffer 大于1/2 到3/4期间认作空,输出高电平,符合我们用的习惯。
#3
我仔细想了下,关于HANDSHAKE 模式下,MSDN里其实讲的是232电平,那么所谓的‘raises the RTS line’应该对应的是逻辑0,‘lowers the RTS line’是逻辑1,这样就一致了。我想应该是这么回事。大家怎么看?
#4
至于其他三个模式,客户估计是搞错了。
#5
其他三个模式,msdn里讲的我之前也理解错了,里面所说的ON其实也是低电平。disable为高电平