各位大牛,你们在串口开发时,选用的是哪种组件,哪种最稳定?最好用?
理由是什么?
1. Cport
2. CnRS232
3. MScom
4. SPCOM
5. 其他组件
理由是什么?
1. Cport
2. CnRS232
3. MScom
4. SPCOM
5. 其他组件
解决方案 »
- 请高手告诉我下 这几行代码什么意思
- >>>>>>>>>>>>>>~~~简单问题,请各位大侠快来拿分啊`~~~<<<<<<<<<<<<<<<<<
- BDE的事務要怎麼回滾阿
- 如何判断MonthCalander中鼠标点中了日期还是翻页按钮
- 两个Table.post的异常?
- 删除光标前的字符的消息常量是什么?
- cross table怎样用图表的形式显示出来
- 牛人留步,谁有详细的制作delphi expert的资料(ModelMaker,能嵌入到菜单的那种)
- 谁知道超级兔子和Windows变脸王中的“重建桌面图标缓存”是如何实现的?
- 关于delphi,ado,com,asp的问题。
- webBrowser加载视频URL时会出错
- 帮忙修改该程序 实现自动删除批处理文件中的重复项中的一项
看你是什么应用,我建议用Cport,Spcom在点对点通讯的时候没啥问题,主要缺点是它收取数据是定时去收,这个特点在实际应用时可能会有很大的限制,比如下位机不能发太快啊什么的。Mscom适中,主要缺点是分发程序时还要动态库去支持,Cport效率,通讯机制都很好,缺点是有的版本中的事件可能不好用
理论上都应该对接收到的数据进行长度啊 ,校验位啊之类的校验,跟效率没什么关系
比如说是 电站中控制电闸 ,我不清楚是如何的业务,但是觉得应该用PLC来控制.PC上做一般的监测,配置还行.
4. SPCOMM
用过这两个,现在一直用 SPCOMM
try
ser.Connect('COM3');
ser.config(460800,8,'N',0,false,true);
ser.ATCommand('AT');
if (ser.LastError <> 0) or (not ser.ATResult) then
Exit;
ser.ATConnect('ATDT+420971200111');
if (ser.LastError <> 0) or (not ser.ATResult) then
Exit;
// you are now connected to a modem at +420971200111
// you can transmit or receive data now
finally
ser.free;
end;
[email protected]