Closed whj4674672 closed 3 years ago
forever
modbus
switch case
default
or
eErrStatus = MB_MRE_NO_ERR
@armink @Guozhanxin
forever
的方式去等待事件的到来,这样会导致主机阻塞。主机作为modbus
协议中的通讯发起者,不能出现阻塞的情况,如果网络中有一个从机的响应不正常,主机的阻塞将导致整个网络瘫痪。主机该返回超时时一定要返回超时。switch case
中的default
。这里是or
的方式去等待事件,极限情况下是可能出现同时受到多个事件,同时收到多个事件将导致switch case
解析失败,在该语句中只有一种情况是表示接受成功的,只要接收到2个事件,至少有一个事件是错误事件,因为没有default
的存在,这里依然会返回eErrStatus = MB_MRE_NO_ERR