串口通信(0分)

  • 主题发起人 主题发起人 nanerxin_ai
  • 开始时间 开始时间
N

nanerxin_ai

Unregistered / Unconfirmed
GUEST, unregistred user!
我用串口通信!如果串口回我'ok',则我触发一个事件!若是没有回我东西!则触发另一个事件! 但是第一次发给我'ok'后,就一直发给我ok,导致不能触发另一事件!考虑应该是缓冲区没有释放!可是我用控件打开关闭!还是不行!用函数清空好象也不行!用spcomm控件或mscomm控件都行!请各位高手多多指教!很急!所以先谢谢大家了!
 
如果在接到“ok”后,触发事件前先给那边发送一个收到确认,让他收到这个后就休息,如何?
我以前做串口通信开发就是缺这么一个确认过程,导致数据不好传输。后来是这么解决的。
 
谢谢小兵无名!我这里不是计算机之间通信!是和硬件通信!由于很急!所以请大家给我讲地细点!多谢了![:(][:(][:(!]
 
PurgeComm(Com, PURGE_RXCLEAR and PURGE_TXCLEAR); // 清除COM 数据前面为发送缓冲区数据,后面为接收缓冲区数据。还可以清除其他参数,可以查一下帮助文档。
试一下,看有没有帮助。
 
谢谢huxiong,你说的这个方法我试过!行不通!我用的控件是tcomm,学习的书是delphi与rs-232串行通信控制!这个问题有人能够解决么?各位高手!小弟比较弱!请大侠门不要再潜水了!
谁能给我解决问题!我深表感谢![:(]
 
我仔细的看了一下你的提问,我的看法有以下几点:
1.检查一下,看下位机是不是发了个'OK'后停止了数据发送。因为控件可以停止接收数据,所以下位机继续发送时,串口可以停止接收。
2.检查一下你使用的通讯方式。
这只是我个人的看法,希望对你有帮助。
 
谢谢hnxiong!
1.我是通过两台计算机通信的!一台发信息!另一台用串口调试模拟!我只发了一个'ok'!
我向应该写一个函数!调用API函数!可是我的能力很弱!请各位大侠指点!
2.我的通讯方式没有问题!所有的通信参数!比如 bit baudrate oddeven stopbit timeout
我都再三核对!可还是不行!
我的能力有限!可能有些术语没明白!请各位不要见笑!
因为解决问题才是关键!
请各位多多帮忙!
要想做一名好的程序员!必须有毅力!
 

嘻嘻!没人理我!那我再问一个问题!我向串口发一字符串!如何做到累加异或和呢?
我现在加码头和发数据,都没问题!我可以做累加和!但是做不了异或和!请高手多多帮忙!
给我细细讲讲!小弟有礼了![8D]
 
0?
难怪!


 
我指的通讯方式是同步和异步通讯,我看你这个用同步好一点。当然这个使用API写程序。如果用控件的话,使用关闭端口的函数就可以了。不知道我说的对不对。
 
你可以延时或者释放控制权
 
你要先握手成功,然后回发给他
 
谢谢上面四位的回复!
1.我只是看过同步通讯的资料!我们好象没做过!使用控件的关闭端口没用!
试过多个控件,都行不通!
2.延时还有释放控制权也不行!因为延时只是时间的长度变花!缓冲区还是释放不出来!
释放控制权我也试过!不行!
3.握手应该是流量控制!和这个影响应该不大!我再好好看看!
谢谢你们的回复!你们的回复对我启发很大!
希望大家一起努力!其实我们搞通讯的应该互相帮助!
这个时代已经没有祖传秘密的存在!
其实高手看过我的贴子!也许只是轻轻一笑!什么时候我才能成为高手呢!嘻嘻![^]
 
后退
顶部