| 查看: 557 | 回复: 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);} } 请高手帮帮忙,谢谢了! 同时祝大家圣诞快乐! |
» 猜你喜欢
寻求一种能扛住强氧化性腐蚀性的容器密封件
已经有7人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复
请问哪里可以有青B申请的本子可以借鉴一下。
已经有5人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有5人回复
2025冷门绝学什么时候出结果
已经有7人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有6人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有7人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
4楼2010-01-04 23:03:02













;
回复此楼