首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

关于串口通讯

2013-01-01 
关于串口通信我在做一个关于串口通信的程序,用的pcomm.dll,所以需要create一个串口,然后打开,如代码:Contr

关于串口通信
我在做一个关于串口通信的程序,用的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上一个函数么?
[解决办法]
弄串口通信,为什么不用SPComm3.pas控件呢?既安装简单(即使仅引用不安装也行)又好用,它里面是使用多线程控制的,若感兴趣,留个邮箱,我给你邮过去。
[解决办法]
使用SPComm3.pas还有一个好处是:发布你的软件时,不必附带你那个DLL文件!!
[解决办法]
除了楼上说的spcomm,还有cport控件,都是简单好用强大的
pcomm这个串口注册是干嘛用,串口干嘛还要注册?
[解决办法]
PComm很好用的
PComm中 Irq回调函数有好几个,
不知道RegisterIrq在内部调用了哪个函数以及RegisterIrq是怎么实现的 所以不能给出更多的建议

热点排行