100分求教!!关于串口的。

神出鬼没的七叔 2007-11-24 02:44:17
问题一:我的程序,直接执行程序可以用ReadFile对串口进行操作,单步运行却不能读取发上来的数据。为什么?
问题二:我用SetupComm创建读写缓冲区的大小,怎么访问到读写缓冲区,我的意思不是指用ReadFile和WriteFile进行读写操 作,而是宏观的得到缓冲区的一些属性,比如说大小啊,已经使用多少等等。
...全文
174 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
swsgdhr 2007-12-24
  • 打赏
  • 举报
回复
答复1:
是不是缓冲区刷新的问题(读操作中,刷新是把缓冲区的信息读到程序变量中来),缓冲区如果不手动刷新的话,它要等到缓冲区添满之后才把这些数据一次性传给程序的相应部分.
对于直接运行,可能由于信息量大,所以就可以把缓冲区填满,能够造成自动刷新;而单步执行的时候,因为信息量比较小,所以得单步很多步才能填满缓冲区,这样在单步的前期给你的反映就好像是不能读上来数据,其实数据是存到了缓冲区,但是还没有填满.
关于手动刷新缓冲区的函数你可以网上搜一下.
freesky918 2007-11-28
  • 打赏
  • 举报
回复
顶顶!
echoher 2007-11-28
  • 打赏
  • 举报
回复
GetCommProperyies可以获取通讯状态,结构里有当前的缓冲区使用情况
alunlee 2007-11-28
  • 打赏
  • 举报
回复
多给点分,我给你做!QQ:191615486
lisel04 2007-11-27
  • 打赏
  • 举报
回复
为什么不用MSCOMM控件呢
sxcong 2007-11-27
  • 打赏
  • 举报
回复
有个CSerialPort类,操作串口很方便。如果急着做项目先拿来用。有空再研究源码。程序写的很稳定,放心用就是了。google一下就能找到
feng1976 2007-11-27
  • 打赏
  • 举报
回复
串口操作看似简单,全弄清楚了就会觉得很复杂
bs2x418 2007-11-27
  • 打赏
  • 举报
回复
ReadFile是非阻塞状态?单步调试容易出现错位
i_love_pc 2007-11-27
  • 打赏
  • 举报
回复
1.看看是不是因为延迟的原因,通讯的实时行。
2.请用与串口相关的方法来操作,直接读写会影响数据的准确性。
老火 2007-11-27
  • 打赏
  • 举报
回复
建议上网搜索多线程串口类LsComm的文档及源代码看看

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧