| 查看: 553 | 回复: 3 | |||
| 当前主题已经存档。 | |||
| 【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 xyphys638 的 14 个金币 | |||
xyphys638银虫 (小有名气)
|
[交流]
【求助】检测串口数据输出
|
||
|
求助: 老板写了个串口程序,但是在读取数据的时候,运行的很慢,因为是,一直在读取,所以很费时。 因此希望能找个函数,或者一段代码,来监视串口是否有数据输出,如果有了,就读取,否者直接运行下一步。 麻烦高手指点一下,为了便于理解,我贴上一段关于设置串口的程序, wsprintf(com_ch,"COM1" ;hCom = CreateFile(com_ch, GENERIC_READ | GENERIC_WRITE,0, NULL,OPEN_EXISTING,0,NULL); Memo_emission->Text="tentative d'ouverture de ligne COM1 "; if (GetCommState(hCom,&dcb)) {COM_ID_OK=true; dcb.BaudRate = 38400;//4 ?1 droite 5 ?0 gauche //dcb.BaudRate = 19200;//4 ?0 gauche 5 ?1 droite //dcb.BaudRate = 9600;//4 ?1droite et 5 ?1 droite dcb.StopBits = ONESTOPBIT; dcb.ByteSize = 8; dcb.Parity = NOPARITY; //dcb.fRtsDisable = dcb.fDtrDisable = true; dcb.fOutxCtsFlow = dcb.fOutxDsrFlow = false; //dcb.fDtrflow = dcb.fRtsflow = false; dcb.EvtChar = 'X'; COM_ID_OK=SetCommState(hCom,&dcb); // initialiser l'閠at de la ligne lpCommTimeouts =new _COMMTIMEOUTS; GetCommTimeouts(hCom,lpCommTimeouts); lpCommTimeouts->ReadIntervalTimeout = 1; lpCommTimeouts->ReadTotalTimeoutMultiplier = 1; lpCommTimeouts->ReadTotalTimeoutConstant = 10; lpCommTimeouts->WriteTotalTimeoutMultiplier= 1; lpCommTimeouts->WriteTotalTimeoutConstant = 10; SetCommTimeouts(hCom,lpCommTimeouts); Memo_emission->Lines->Add("r閡ssi OK\n" ;和读取的程序: ReadFile(hCom,serial_rec_buffer,buf_size,&NbCar,NULL); if(NbCar>0) {if(serial_rec_buffer[NbCar-2]==0x0D) {MESSAGE_OK=true; // on verifie le caract鑢e de fin serial_rec_buffer[NbCar-2]=0x00; Memo_reception->Lines->Add(serial_rec_buffer); } else {delay(100);ReadFile(hCom,serial_rec_buffer,buf_size,&NbCar,NULL);} } 请高手帮帮忙,谢谢了! 同时祝大家圣诞快乐! |
» 猜你喜欢
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
孩子确诊有中度注意力缺陷
已经有12人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
论文投稿,期刊推荐
已经有4人回复
硕士和导师闹得不愉快
已经有13人回复
请问2026国家基金面上项目会启动申2停1吗
已经有5人回复
同一篇文章,用不同账号投稿对编辑决定是否送审有没有影响?
已经有3人回复
feichengxyz
铁杆木虫 (著名写手)
- 应助: 1 (幼儿园)
- 金币: 8538.5
- 散金: 60
- 红花: 4
- 帖子: 1162
- 在线: 908.2小时
- 虫号: 425858
- 注册: 2007-07-28
- 性别: GG
- 专业: 催化化学
2楼2009-12-25 15:14:51
feichengxyz
铁杆木虫 (著名写手)
- 应助: 1 (幼儿园)
- 金币: 8538.5
- 散金: 60
- 红花: 4
- 帖子: 1162
- 在线: 908.2小时
- 虫号: 425858
- 注册: 2007-07-28
- 性别: GG
- 专业: 催化化学
★ ★ ★ ★ ★ ★
波不动(金币+2,VIP+0):辛苦了! 12-25 21:55
xyphys638(金币+4,VIP+0):附件下不了,能发到邮箱嘛?邮箱:yxphys@gmail.com 12-25 23:10
波不动(金币+2,VIP+0):辛苦了! 12-25 21:55
xyphys638(金币+4,VIP+0):附件下不了,能发到邮箱嘛?邮箱:yxphys@gmail.com 12-25 23:10
|
MScomm控件源码见附件,使用方法详见http://blog.gkong.com/more.asp?name=lightwhite&id=22424 简单的,也可以利用VC的OnTimer事件驱动,定期检测串口是否有数据输入。 |
3楼2009-12-25 21:26:46
4楼2010-01-04 23:03:02














;
回复此楼