C# 用rts控制485的方向,rts的控制方向延时时间不好确定怎...
由于只能用rts来控制 485的方向,没有自动方向控制。我在发送数据后如果立即切换到接收,可能发送还没结束,导致发送数据错误。如果用定时器死等延时的话,CPU的占用率会非常高不太好。如果用线程sleep的话,这个时间精度不够,有时候能通讯成功,有的时候方向切换慢了就丢数据了。大家有什么好方法推荐吗? 用串口中断发送,发送完毕后RST 设置为接收 我觉得LZ应该是方法有问题,上点代码来看看。 本帖最后由 NJ8888 于 2014-5-1 18:50 编辑queryperformancecounter能保证至少延时你想要的时间 可以将串口设置为toggle模式自动换向 NJ8888 发表于 2014-5-1 18:49
queryperformancecounter能保证至少延时你想要的时间
你好,用软件延时时导致cpu占用率变高,所以才用线程的sleep。但sleep的精度不太够。 xukaiming 发表于 2014-5-2 14:05
可以将串口设置为toggle模式自动换向
你好,就是普通电脑的串口,C#上怎么设置这个toggle模式,我怎么没找到 485切换 mark NJ8888 发表于 2014-5-1 18:49
queryperformancecounter能保证至少延时你想要的时间
大牛也懂C#? fengyunyu 发表于 2017-5-18 12:21
大牛也懂C#?
我懂的是delphi{:lol:} ,queryperformance是WIN的API,与语言无关
页:
[1]