VS2017 Cserial 类操作串口, 有些串口可以打开但是不能发数据

wankai1985cn 2018-02-22 04:47:33
各位大侠,

这几天在测试VS2017, 使用CSerial类进行串口的操作. 电脑上挂有两种串口, 一种是CH340, 一种是CDC虚拟串口, 类似ATMEL 的调试器, edbug virtual port.

经过串口助手测试, 可以正常收发数据. 交叉发送(CH340, edebug virtual port). 没有问题. 说明串口没有问题.
使用VS2017编的软件测试, 使用两个CH340的串口, 两个进行对发, 没有问题, 可以看出软件是可以的.

但是使用这个软件, 打开上面的edbug Virtual port, 单步调试, 可以打开, 可以进入发送函数, writefile, 但是是没有数据出来.

而且不能再次跳到发送函数.

在这个情况下, 如果使用调试助手打开这个virtual port, 可以看到数据发出来, 从现象看, 数据好像是在串口的buffer中, 但搞不懂为什么数据在VS2017中不发出来.

网上找了很多串口相关的信息, 但没有碰到这类问题.

麻烦大侠看看.

谢谢.
...全文
1799 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
worldy 2018-04-17
  • 打赏
  • 举报
回复
【而且不能再次跳到发送函数.】说明你的函数运行出错,跳转到上级的函数处理程序中去了
赵4老师 2018-04-17
  • 打赏
  • 举报
回复
引用 6 楼 wankai1985cn 的回复:
在后面测试C#, 又出问题. 最终找到根源, 需使能DTR. serialPort1.DtrEnable = true; 这个之后就可以了.
工匠精神!
wankai1985cn 2018-04-16
  • 打赏
  • 举报
回复
在后面测试C#, 又出问题. 最终找到根源, 需使能DTR. serialPort1.DtrEnable = true; 这个之后就可以了.
wankai1985cn 2018-03-16
  • 打赏
  • 举报
回复
谢谢大家, 这个问题一直没有解决, 后面换C#, 可以正常使用. 因为版权问题, 不能用MFC, 所以转C#.
wankai1985cn 2018-03-16
  • 打赏
  • 举报
回复
引用 2 楼 arpnet99 的回复:
查看writefile的返回值 VS2017自带Cserial了吗? 网上的Cserial这个名字的可是很多。
因为第一次用, 都是网上找的, 所以可能是在这里. 现在换C#, 已经解决问题了. 不过C#好像移植性没有C++高. 原来的程序可以直接在嵌入主机中直接应用. 但没有办法了. 谢谢.
sevancheng 2018-02-28
  • 打赏
  • 举报
回复
有些串口类有不能打开10号以上串口bug,检查下
这不是鸭头 2018-02-23
  • 打赏
  • 举报
回复
查看writefile的返回值 VS2017自带Cserial了吗? 网上的Cserial这个名字的可是很多。
zgl7903 2018-02-22
  • 打赏
  • 举报
回复
GetCommState 看看是否有握手协议? 构造好DCB SetCommState

16,470

社区成员

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

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

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