我在做一个关于串口通信的程序,用的pcomm.dll,
所以需要create一个串口,然后打开,如代码:ControlorComm := TSComCtrl.Create(zyAccessConfig.CtrlorPort);
ControlorComm.SetBaudRate(zyAccessConfig.CtrlBaud); //默认的波特率为9600然后注册函数:ControlorComm.RegisterIrq(ControlCommReceiveData);
ControlorComm.Open;
我想问的是,我想注册另外一个函数ConfigCommReceiveData;
我的操作是:ControlorComm.close;
ControlorComm.RegisterIrq(ConfigCommReceiveData);
ControlorComm.Open;但是这样导致之前用ControlCommReceiveData这个函数的功能失效了,
把close去掉就好了,这是为什么?
重新注册函数之前不应该先close上一个函数么?
所以需要create一个串口,然后打开,如代码:ControlorComm := TSComCtrl.Create(zyAccessConfig.CtrlorPort);
ControlorComm.SetBaudRate(zyAccessConfig.CtrlBaud); //默认的波特率为9600然后注册函数:ControlorComm.RegisterIrq(ControlCommReceiveData);
ControlorComm.Open;
我想问的是,我想注册另外一个函数ConfigCommReceiveData;
我的操作是:ControlorComm.close;
ControlorComm.RegisterIrq(ConfigCommReceiveData);
ControlorComm.Open;但是这样导致之前用ControlCommReceiveData这个函数的功能失效了,
把close去掉就好了,这是为什么?
重新注册函数之前不应该先close上一个函数么?
pcomm这个串口注册是干嘛用,串口干嘛还要注册?
PComm中 Irq回调函数有好几个,
不知道RegisterIrq在内部调用了哪个函数以及RegisterIrq是怎么实现的 所以不能给出更多的建议