请教一个老问题:有关串口的异步操作
原来一直在用单片机写程序,现在开始做上位机。好像windows提供了串口的异步访问方式,能够提供非阻塞的串口操作函数。
我想知道有没有一种像单片机类似的中断处理方式,就是每当串口有数据进入是进入一个中断函数,在中断函数函数中进行相应的处理?因为要保证不因为程序的阻塞而丢失串口的任何数据。
是不是还可以使用开启新线程的方法来保证及时处理串口数据?要如何同步呢?
希望大家最好能给一个代码的示例,保证主程序在处理其他内容时能完全接收串口的数据即可。谢谢啦~~~
[解决办法]
推荐龚建伟的《Visual C++_Turbo C串口通信编程实践》,里面有控件和写好的类
你问的问题都有说到(参考CSerialPort类),看前几章就可以了
[解决办法]
打开端口
pIniPort->hFile = CreateFile(_T("COM1"), GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_FLAG_OVERLAPPED, NULL);
[解决办法]