1、串口编程,异步和同步的选择各自有什么优点?
2、异步读串口的时候(此时没有利用多线程编程),为什么单步调试的时候可以实现,加入死循环就卡住了,换了同步的也是同样情况。
3、利用多线程编程时,也是这种情况,执行一次可以实现成功读取,假如死循环就不行了,又死了
4、利用多线程实现异步编程时在子线程中调用readfile函数,每次读取的时候是一个一个读取,还是一串一串读取好,一串一串读取,每次读取数据的长度都不一样(这里我在调试的时候,调试软件是周期发送数据,是否有影响)
5、今天在打开串口、设置串口后,还发生了串口号突然就变成0X000000的情况,是否和线程时间片到了有关呢?
由于单位保密查的比较紧,把程序拷出来不方便,先这样吧,刚学vc++不久,求教!
2、异步读串口的时候(此时没有利用多线程编程),为什么单步调试的时候可以实现,加入死循环就卡住了,换了同步的也是同样情况。
3、利用多线程编程时,也是这种情况,执行一次可以实现成功读取,假如死循环就不行了,又死了
4、利用多线程实现异步编程时在子线程中调用readfile函数,每次读取的时候是一个一个读取,还是一串一串读取好,一串一串读取,每次读取数据的长度都不一样(这里我在调试的时候,调试软件是周期发送数据,是否有影响)
5、今天在打开串口、设置串口后,还发生了串口号突然就变成0X000000的情况,是否和线程时间片到了有关呢?
由于单位保密查的比较紧,把程序拷出来不方便,先这样吧,刚学vc++不久,求教!
解决方案 »
- 按钮连接问题?
- 我装好了OpenSSL,在VC下编译一个小例子产生了错误,谁来救我啊
- 求助:关于vfw保存avi的问题!
- SDK如何改变主菜单项(不是弹出菜单)鼠标经过时矩形框的背景颜色和边框颜色?
- 在一个基于SDI的应用程序中,由于用不到ID_FILE_NEW,ID_PRINT_SETUP的id值 我就把string table中的这些值删除了,可是出现连接错误!
- 连接错误,哪位知道怎么解决。nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)
- 到底应该学vb还是vc呢?
- 请教一个高深的问题呀!!!!谁能解决。。。。
- 紧急求助,dll的使用!
- Unable to start program '...\visual studio2010\...\Debug\lena.dll‘
- 谁能给我解释一下typedef char * a[N+1]?
- 请教:邮件解析中的编码问题处理
异步读是能省点时间,缺点是同步有点难;同步读是浪费点时间(对于大多数应用不影响),优点是同步简单,
2.
2和3的情况要加入超时设置,当在一定时间没有收到数据或没有收完数据后就超进退出,等待下一次的读数据.
4.因为现在是WINDOW系统,硬件接收到的数据都放在缓冲区里(可以看作类似同步硬件读限数据,同步通知你已有数据了),所以你收数据时要先读限缓冲区里的数据字节数,然后按缓冲区里的数据字节数来一次读完.
5.
串口的设置一次就可以了,不需要多次设置,在设置后再运行线程,不然先运行线程再设置串口可能会出问题
我第一次在这儿发帖,还有这么多人给我回复,很感激你们,串口传输部分我已经编好了,后面我会继续努力的!谢谢大家