做过一系列的串口设备通信,一直都 CreateFile() 然后 WriteFile() ,完了就 CloseHandle();没出什么问题,这次做唯拓的一款LED顾客显示屏,依然这么做,因为事先使用过他们提供的 demo 程序测试过设备,因此写的 dll 也能正常被调用,交给其他同事使用,接好设备后显示正常的 0.00 ,调用我的程序后设备全暗,什么都不显示。
        用厂方的demo测试,设备又能显示,再调用我的程序,发现可以正常工作,厂方提供的文档也没做其他说明,只说设备通电后波特率被设置为 2400,不需要再设置。经过一番思索,应该还是在串口初始化上面有问题,于是找到一款串口数据检测工具 CommMonitor。

调用我的程序串口数据传输情况如下图:

打开厂方工具时所得串口数据传输如下图:

我想问题应该就在此了,于是根据如上截图的信息,在程序中加了一段设置串口参数的代码

void InitializeComm(HANDLE& handle) {
    SetupComm(handle, 1024, 512);
    DCB dcb = {0};
    dcb.DCBlength = sizeof(DCB);
    dcb.BaudRate = CBR_2400;
    dcb.fBinary = 1;
    dcb.fParity = 1;
    dcb.fDtrControl = DTR_CONTROL_ENABLE;
    dcb.fRtsControl = RTS_CONTROL_DISABLE;
    dcb.XonLim = 256;
    dcb.XoffLim = 256;
    dcb.ByteSize = 8;
    dcb.Parity = NOPARITY;
    dcb.StopBits = ONESTOPBIT;
    dcb.XonChar = 17;
    dcb.XoffChar = 19;
    dcb.EofChar = 26;
    SetCommState(handle, &dcb);
}

OK,加入此段代码后再看串口数据传送情况如下图:

程序也能正常控制设备了,所以串口通信时,如果出现莫名其妙的问题,应该查看一下是否为串口参数设置不正确。

转载于:https://www.cnblogs.com/mforestlaw/p/3289519.html

串口编程需要注意的地方相关推荐

  1. Linux 串口编程分析

    这个话题,大家可能再熟悉不过了,网上资料很多,因为这是linux下编程比较重要的一个方面,懂这方面的人很多:这里我只是想给初学者简单的介绍下这方面的知识: 串口编程其实说白了, 是拿根串口线把电脑和所 ...

  2. 基于MFC串口编程和曲线图绘制(visual studio2008,Teechart绘图控件)的程序总结

    前言 今年刚进入公司按经理的要求为底盘测控机写了一个小小的console.这也是第一次教认真的完成整个程序的编写.程序不大,所用技术比较基础也不前卫,属于初级程序员的练手程序(知识的整理和搬运).虽然 ...

  3. Win32 API串口编程

    在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信.串口通信方便易行,应用广泛. 一般情况下,工控机和各智能仪表通过RS485总线进行通信.RS485的通信方式是半 ...

  4. C#串口编程基础入门

    最近在学习C#串口编程,对于串口编程是一个全新的领域,以前没有接触过,现在记录下自己学到的一些基础内容. 串口编程中需要用到一个非常重要的组件SerialPort,将此组件拖动到窗体之后,它是一个不可 ...

  5. linux下的串口编程

    本文转自:http://www.cnblogs.com/jason-lu/articles/3173988.html 做人个人学习使用,绝无侵权之意.如果侵权,请尽快联系,谢谢. Linux下串口编程 ...

  6. php写串口上位机,QT5串口编程—编写简单的上位机

    最近在学习嵌入式,而上位机又是一个不可缺少的工具,于是就开始接触QT,学习编写上位机.刚开始的时候什么都不懂,发现<Qt 学习之路 2>有比较好的入门教程.学习了前面部分,对QT有了大概的 ...

  7. Serial Programming HOWTO——Linux 串口编程HOWTO

    转自:http://bbs.loveunix.net/viewthread.php?tid=35896 1. Introduction 简介 This is the Linux Serial Prog ...

  8. C——Linux下的串口编程

    原 C--Linux下的串口编程 2017年06月06日 19:30:50 C_Aya 阅读数:11537 <span class="tags-box artic-tag-box&qu ...

  9. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(十八)串口编程

    文章目录 一. 串口应用程序编程介绍 1.串口的作用 2. 本套视频特别说明 二. 硬件知识_UART硬件介绍 1. 串口的硬件介绍 2. 串口的参数 3. 串口电平 4. 串口内部结构 三. TTY ...

最新文章

  1. 概述自动机器学习(AutoML)
  2. 剑指offer 合并2个排序的链表
  3. python 柱状图上显示字体_Python爬取百部电影数据,我发现了这个惊人真相!
  4. jQuery常用操作部分总结
  5. 再谈WinRT自定义组件的开发
  6. python解base64_python模块之base64
  7. python识别文字答题_头脑王者的Python答题助手——从OCR文字识别到Fiddler抓包
  8. 作为前端程序员:你必须知道的常用英语词汇!!全是干货!!!
  9. wps生成正态分布的随机数_生成服从标准正态分布的随机数
  10. 外贸网站建站营销及推广?
  11. python 等值面多边形平滑_三次贝塞尔曲线平滑多边形
  12. 牛客 小米校招 找“异数” 高精度进制转化
  13. Linux下清理删除last登录日志
  14. Python基础-不要对实例属性和类属性使用相同的名字
  15. 游虎DOTA专区 - 内容丰富的DOTA专区,DOTA录像分析很不错的..
  16. 怎么申请域名 域名的申请方式与流程 如何怎么买域名
  17. 20221218-19英语学习
  18. 变态杀人狂 (数学)
  19. Python代码出现UnicodeEncodeError问题
  20. ZIP文件如何解除解压密码

热门文章

  1. GICv3软件overview手册之GICv3基本功能(5)
  2. Spring Integration 系统集成
  3. 移植Opus音频编解码库到FreeScale iMX6q(飞凌嵌入式的OKMX6Q-C开发板)平台
  4. Photoshop制作简洁清新的插画海报图片
  5. golang知识图谱NLP实战第一节——整体思路
  6. DP7406国产192K数字音频发送器芯片兼容替代CS8406
  7. Dubbo 提供者和消费者
  8. 批处理框架spring batch基础知识介绍
  9. 【随感】在Keras中如何按最大似然(Max Likewood)训练模型
  10. Python零基础爬取网页数据并导出Excel