求助 ReadFile读不到串口数据。 但是用串口助手打开一次串口 就能正常读到数据了 [问题点数:200分]

Bbs1
本版专家分:0
结帖率 0%
Bbs1
本版专家分:0
Bbs4
本版专家分:1434
Bbs1
本版专家分:0
Bbs10
本版专家分:122170
版主
Blank
优秀版主 2015年7月优秀小版主
2015年5月优秀小版主
2014年11月论坛优秀版主
Blank
微软MVP 2014年7月荣获微软MVP称号
2013年7月 荣获微软MVP称号
2012年7月 荣获微软MVP称号
2011年7月 荣获微软MVP称号
2010年7月 荣获微软MVP称号
Blank
红花 2016年8月 硬件/嵌入开发大版内专家分月排行榜第一
2016年6月 硬件/嵌入开发大版内专家分月排行榜第一
2015年12月 硬件/嵌入开发大版内专家分月排行榜第一
2015年7月 硬件/嵌入开发大版内专家分月排行榜第一
2015年6月 硬件/嵌入开发大版内专家分月排行榜第一
2015年4月 硬件/嵌入开发大版内专家分月排行榜第一
2014年12月 硬件/嵌入开发大版内专家分月排行榜第一
2014年10月 硬件/嵌入开发大版内专家分月排行榜第一
2014年9月 硬件/嵌入开发大版内专家分月排行榜第一
2014年8月 硬件/嵌入开发大版内专家分月排行榜第一
2014年7月 硬件/嵌入开发大版内专家分月排行榜第一
2014年5月 硬件/嵌入开发大版内专家分月排行榜第一
2014年4月 硬件/嵌入开发大版内专家分月排行榜第一
2014年3月 硬件/嵌入开发大版内专家分月排行榜第一
2014年1月 硬件/嵌入开发大版内专家分月排行榜第一
2013年12月 硬件/嵌入开发大版内专家分月排行榜第一
2013年10月 硬件/嵌入开发大版内专家分月排行榜第一
2013年9月 硬件/嵌入开发大版内专家分月排行榜第一
2013年8月 硬件/嵌入开发大版内专家分月排行榜第一
2013年7月 硬件/嵌入开发大版内专家分月排行榜第一
2013年5月 硬件/嵌入开发大版内专家分月排行榜第一
2013年4月 硬件/嵌入开发大版内专家分月排行榜第一
2013年3月 硬件/嵌入开发大版内专家分月排行榜第一
2012年12月 硬件/嵌入开发大版内专家分月排行榜第一
2012年11月 硬件/嵌入开发大版内专家分月排行榜第一
2011年3月 硬件/嵌入开发大版内专家分月排行榜第一
2011年2月 硬件/嵌入开发大版内专家分月排行榜第一
2009年10月 硬件/嵌入开发大版内专家分月排行榜第一
2009年7月 硬件/嵌入开发大版内专家分月排行榜第一
2009年6月 硬件/嵌入开发大版内专家分月排行榜第一
2007年12月 硬件/嵌入开发大版内专家分月排行榜第一
2003年6月 硬件/嵌入开发大版内专家分月排行榜第一
2002年9月 硬件/嵌入开发大版内专家分月排行榜第一
2002年8月 硬件/嵌入开发大版内专家分月排行榜第一
2002年7月 硬件/嵌入开发大版内专家分月排行榜第一
2002年5月 硬件/嵌入开发大版内专家分月排行榜第一
2002年4月 硬件/嵌入开发大版内专家分月排行榜第一
Blank
黄花 2015年5月 硬件/嵌入开发大版内专家分月排行榜第二
2015年1月 硬件/嵌入开发大版内专家分月排行榜第二
2014年11月 硬件/嵌入开发大版内专家分月排行榜第二
2014年6月 硬件/嵌入开发大版内专家分月排行榜第二
2013年11月 硬件/嵌入开发大版内专家分月排行榜第二
2013年6月 硬件/嵌入开发大版内专家分月排行榜第二
2013年1月 硬件/嵌入开发大版内专家分月排行榜第二
2012年10月 硬件/嵌入开发大版内专家分月排行榜第二
2012年9月 硬件/嵌入开发大版内专家分月排行榜第二
2012年6月 硬件/嵌入开发大版内专家分月排行榜第二
2012年5月 硬件/嵌入开发大版内专家分月排行榜第二
2012年4月 硬件/嵌入开发大版内专家分月排行榜第二
2012年3月 硬件/嵌入开发大版内专家分月排行榜第二
2012年2月 硬件/嵌入开发大版内专家分月排行榜第二
2011年7月 硬件/嵌入开发大版内专家分月排行榜第二
2011年5月 硬件/嵌入开发大版内专家分月排行榜第二
2011年4月 硬件/嵌入开发大版内专家分月排行榜第二
2011年1月 硬件/嵌入开发大版内专家分月排行榜第二
2010年11月 硬件/嵌入开发大版内专家分月排行榜第二
2009年9月 硬件/嵌入开发大版内专家分月排行榜第二
2009年8月 硬件/嵌入开发大版内专家分月排行榜第二
2008年11月 硬件/嵌入开发大版内专家分月排行榜第二
2008年9月 硬件/嵌入开发大版内专家分月排行榜第二
2004年7月 硬件/嵌入开发大版内专家分月排行榜第二
2004年3月 硬件/嵌入开发大版内专家分月排行榜第二
2004年1月 硬件/嵌入开发大版内专家分月排行榜第二
2003年5月 硬件/嵌入开发大版内专家分月排行榜第二
其他相关推荐
串口通信中ReadFile和WriteFile的超时详解!
在用ReadFile和WriteFile读写串行口时,需要考虑超时问题。如果在指定的时间内没有读出或写入指定数量的字符,那么ReadFile或WriteFile的操作就会结束。要查询当前的超时设置应调用GetCommTimeouts函数,该函数会填充一个COMMTIMEOUTS结构。调用SetCommTimeouts可以用某一个COMMTIMEOUTS结构的内容来设置超时。 有两种超时:间隔超时和
用多线程实现串口读写数据以及文件的读写
适合的读者:初学用多线程实现对串口的异步操作,对线程的理解,以及对串口的读写。还有文件的读写都有最基本的使用方式。调试时,可以用串口调试助手一起结合的去学习~
串口通信----串口接收框接收不到数据
在进行串口调试时,数据发送没有问题,da
Linux串口通信中一种接收不到数据的问题的解决
转载来源:嵌入式系统之初学者点滴 (百度空间) 原文 在这篇文章()中,实现了Linux环境下的串口读写操作,程序也运行成功了。但是再进一步测试时发现,如果开机之后直接如上文中所说,分别运行读程序和写程序,再用导体同时触碰串口的2、3针的话。此时将显示写入串口成功,但是串口数据失败。 这个奇怪的问题当时之所以没有被发现出来,是因为在这之前,曾经打开一次minicom。后来实验
串口读写问题,需要加入'\r'才能读到数据
转自:http://blog.chinaunix.net/uid-27041925-id-3998634.html 串口本身,标准和硬件 什么是串行通信 什么是RS-232 信号定义 异步通讯 什么是全双工和半双工 什么是流控制 什么是BREAK 同步通讯 用户看到的串口和用户空间的串口编程 串口的设备文件 打开串口 打开文件的选项
win7串口可以发送数据无法接收数据
BOOL bDone = ReadFile(m_hCom, //handle to file * m_DataBuffer, //data buffer * rst.cbInQue, //number of bytes to read * * * * * * &factbyte, //number of bytes read &rOverLaped); if(! bDone && GetLast
LINUX串口一次不能全部读取串口内容
       菜鸟级别的问题,希望对像我一样的人有所帮助。        我在做一个串口通信,上位机通过串口向控制板发送信号,信号的长度为23个字节。我使用Linux编程,自带的read()函数,用一个50个自己的数组来读,但是读取的字节数为8,9,13等不确定长度。不知道怎么做,想起来以前有个师兄跟我提过,单片机读取串口时,是一个字节一个字节读的,然后把读到帧头的数据,然后按照一定顺序往后读取...
read\write 堵塞与非堵塞读取串口数据
read函数从打开的设备或文件中读取数据。 #include ssize_t read(int fd, void *buf, size_t count); 返回值:成功返回读取的字节数,出错返回-1并设置errno,如果在调read之前已到达文件末尾,则这次read返回0 参数count是请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移。注意这个读写位置
Qt5.2的串口类接收不到串口数据,和事件机制
背景:最近瞎看Qt的东西,然后试了一下Qt自带的串口类。
Matlab接收串口数据
Matlab接收串口助手发送的txt文档数据,保存为以当前时间命名的txt文档。 调试过程中主要遇到几个问题, 1.保存为txt的文件名如何自动创建 最终选择了获取系统当前时间格式为xxxx-xx-xx-xx-xx-xx的“clock” 2.读串口函数选择fread还是fscanf的问题; fread是读数据,fscanf是读字符,因为我是选择用另外一台电脑通过串口调试助手发送txt文档里面的内容,所以到matalb里面格式为字符; 于是选择fscanf。
C#串口类SerialPort收不到数据解决办法
最近再做一个项目,串口通信,但是只能受到一次数据后面怎么也收不到,我想了好久?难道微软提供的系统函数有问题?测试好久,发现居然是对方发送数据过快导致收数据回调函数无响应,我推测内存回调时候发生异常或者卡死,因为对方连发后软件直接卡死无响应,后来测试时间放慢后就正常了,看了很多论坛帖子发现都不是回答很清楚或者不能解决问题。所以我从实际中给出具体方法: (1)让对方减慢发送数据速度   (2)如...
串口异步读写
串口异步读写 最近尝试写了一个串口读写的程序,学习并复习了一些知识点。本文首先讲异步读写注意点,然后讲串口的注意点。因为有些问题没有深入研究下去,所以本文也仅仅当做一个笔记。   1.      文件指针 我们使用ReadFile和WriteFile来进行读写,这两个API是用来读写文件的,在同步读写中,有一个文件指针的概念,但是在异步读写中,系统会忽略文件指针。 OVERLAP
linux 串口编程 用read函数读取数据被截断 怎样一次读完
linux 串口读取数据被截断,怎样一次全部接收? 打开串口后,用read读取串口数据串口发来的 数据为20,而用read读取到的数据却是分多次得到的? 有时只读了8个数据便被截断了,这是为什么?? 怎样一次全部接收?? 谢谢 附代码: #include #include /*Unix标准函数定义*/ #include /**/ #include /**/
读写串口的实现(一)
* Windows自动识别串口的实现,以下是基于MFC开发的,以下所说都是建立在串口注册表上说的 *实现Windows系统下自动识别串口需要调用三个Windows API函数,它们是: //主要用于打开串口1. LONG RegOpenKeyEx( HKEY hKey, //主键,即串口信息存放的文件夹 LPCTSTR lpSubKey, //子键
安卓 串口读取数据遇到的问题
安卓串口操作,在网上一定会找到很多关于谷歌的开源项目,把它的源码拿过来之后,经过编译发现无法读取数据。 接下来就是寻找收发数据失败原因的过程。 1、在Application中出现InvalidParameterException的异常,判断条件是 if ( (path.length() == 0) || (baudrate == -1)) 果断将path和baudrate的值写死,我
串口助手收发数据时波特率过高会乱码
在STM32printf重定向实验中,使用printf向串口输出信息时,输出数据会出现乱码现象或者数据缺失现象,如图: 理应输出122位数据,当波特率为115200时,输出为2位,并且乱码。 解决方法:将波特率调低,以9600为例 如图
STM32使用OV2640,发送一帧RGB565数据串口
使用STM32F407,OV2640摄像头,RGB565模式,在LCD上面显示实时图像的同时,可以通过按键将目前一帧RGB565图像数据发送到串口 接收数据情况如下 详细代码过程请下载 https://download.csdn.net/download/a1174792073/10727971 ...
win32下串口读写设置操作
 在工业控制中,工控机(一般都基于Windows平台)经常需要与智能仪表通过串口进行通信。串口通信方便易行,应用广泛。一般情况下,工控机和各智能仪表通过RS485总线进行通信。RS485的通信方式是半双工的,只能由作为主节点的工控PC机依次轮询网络上的各智能控制单元子节点。每次通信都是由PC机通过串口向智能控制单元发布命令,智能控制单元在接收到正确的命令后作出应答。  在Win32下,可以使用两种
python3 Serial 串口助手的接收读取数据
转自:http://www.cnblogs.com/attentle/p/7098408.html 其实网上已经有许多python语言书写的串口,但大部分都是python2写的,没有找到一个合适的python编写的串口助手,只能自己来写一个串口助手,由于我只需要串口能够接收读取数据就可以了,故而这个串口助手只实现了数据的接收读取。   创建串口助手首先需要创建一个类,重构类的实现过程如下:
C++串口同步和异步的读取与串口设备编程
本文主要讲述如何对串口进行高效率的读写,当串口数据到达时立即读取进行处理,以及如何将该方法运用到串口设备编程中。为了使得程序更加清晰文中的代码去除了异常处理的情况。文中加粗的文字相应的比较重要,需要多注意。当然文中会有错误,欢迎评论指正。文章中代码下载地址 http://pan.baidu.com/s/1pLsP9wB1、COM口WindowsAPI函数CreateFile("COM1", .....
关于串口,重启计算机后总是连接不上,用串口调试工具打开一次以后才能连接上
关于串口,重启计算机后总是连接不上,用串口调试工具打开一次以后才能连接上的这个问题,以前遇到过后来不知道改了哪里就又没事了。这几天做串口程序,又出现上述问题,郁闷不得了。在网上找到一个跟帖子描述的内容跟我这个毛病差不多,也是不知道怎么以修改就好了。http://bbs.csdn.net/topics/300087092。 我用两台机器互联发现,重启计算机后直接连接发送内容时,另一台计算机接收到的
linux下的select用于串口接收数据时,select函数无法返回的问题
串口程序接收数据时使用了select(fd+1,&readfds,&writefds,&exceptfds,NULL); 在接收线程里使用了select函数,还有另外一个线程有close(fd);即关闭串口 在调试过程中发现close之后,select函数仍然没有返
windows下C++读取串口数据
windows下C++读取串口数据 这里提供一个类: SerialPort.h #pragma once #ifndef SERIALPORT_H_ #define SERIALPORT_H_ #include <Windows.h> #include"DataFrame.h" /** 串口通信类 * * 本类实现了对串口的基本操作 * 例如监听发到指...
C语言读写串口例子程序
#include "SerialPort.h" HANDLE hComm; //SYSTEMTIME etime; bool openPort(TCHAR *gszPort) { printf("try to open the port %s \n", gszPort); hComm = CreateFile(gszPort, ...
串口接收与SQL数据库存取
串口接收传感器网络数据,解析存入SQLserver数据
串口调试助手,上位机数据,有时正常,有时出现周期性乱码(有时不正常)。
情况说明 : 串口调试助手,上位机数据,有时正常,有时出现周期性乱码(有时不正常)。 串口调试助手问题,用sscom可以,用uartassist乱码. 测试下位机 :    STM32F103ZET6 测试软件 : 正常使用的 :sscom3.3(比较好用);sscom4.2(广告位较大);secureCRT_v6.2.0 乱码的是 :UartAssist_v3.7.2(铭心网络
串口数据采集并自动写入MySQL数据软件
最近项目要用这个功能,谁有好用的软件推荐一下呗!
Linux下串口发送数据一段数据后发送不出去(可以正常接收)
Linux下串口发送数据一段数据后发送不出去(可以正常接收),在PC调试时一切正常但是连接到别的板子上做数据透传时出现了这样的问题 解决办法:在串口初始化和波特率设置时将options结构体memset为0,但是不清楚真正的原因 static int set_speed(int fd, int speed) { int i; int status; struct ter
解决串口通讯中部分串口ReadFile使用SetCommTimeouts设置超时无效的问题
串口通讯中(笔者系统为32位win7),为简单起见,经常采用同步方式读取串口数据。即调用CreateFile函数打开串口时,不设置其倒数第二个参数为FILE_FLAG_OVERLAPPED。       此时,一般需要设置ReadFile读取数据的超时时间,或者直接设置其不论是否读取到数据,都立即返回。否则,可能由于ReadFile无限期等待读取数据而造成线程阻塞。       设置串口读取
go在arm上读取串口数据
最近在imx6上开发程序使用go作为后台服务程序,需要用到读取串口数据,想通过cgo用c来读取取串口数据 package main /* #cgo LDFLAGS: lib/testrs232.a #include "lib/testrs232.h" int opendev(char *buf) {     int ret = openDevice(buf);
BCB 串口调试经验(转载)
项目(先这么称呼吧)简介,简单的来说就是计算机通过串口分别控制4个二极管的亮度。上位机部分:只说说我用到的一些函数,和遇到的问题。基本的比如什么是异步通讯啦之类的就不说了,随便网上一搜能找一箩筐!下边是一些函数:函数名 作用 1.CreateFile 打开串口 2.GetCommState 检测串口设置 3.SetCommState 设置串口
windows C语言读串口数据
(1)这种方式真的很奇怪,乍一看咋都不像打开串口的,但是真的可以打开。不过在这段代码里并没有配置串口,所以必须借助串口助手才可以,就是先用串口助手打开串口,然后这段程序才可以正常运行。可能是因为在串口助手里已经配置好了串口。#include #include int main() { FILE *fp; if ((fp = fopen("com6", "r")) == NULL) {
Linux下用C实现串口读写
http://hi.baidu.com/weiweisuo1986/item/b33200134ceaac6871d5e81d         之前要做一个和串口相关的项目,才认真研究了下串口,首先就是要实现串口和PC机的通信。          串口的驱动一般不需要我们写,都是很成熟的驱动,要知道的一点就是你开发板串口的名称,比如ttySAC0,等。所以主要的工作就是编程序,实现串口
linux串口数据读取方法
linux串口数据读取方法   | Linux下的串口操作说简单也简单,说复杂也复杂。简单在于其读写调用与文件操作一致,使用方便。但是参数设置相对复杂,而且在一些操作上需要注意技巧。 在串口数据读取方法上,有一点很值得注意,就是操作超时退出处理。如果没有这方面的处理,只用使用read()函数阻塞读取,那么一旦串口buffer中没有数据可读,将会导致进程
MTK 解决蓝牙串口MMI不能收发数据的问题
MTK 解决蓝牙串口MMI不能收发数据的问题
Python读取串口数据注意
1、安装串口库 2、采用默认通信参数 import serial t = serial.Serial('com1',9600) n = t.write('you are my world') print t.portstr print n str = t.read(n) print str 3、可以自己设置参数 import timeimport serialser = serial.Se
解决Linux下串口数据接收不全的异常问题
1、引言     最近在Linux下调试串口程序,遇到了串口数据接收不全的异常问题,经过将近一上午的努力终于找到问题根源,特此分享给大家,此次调试过程中用到了主要用到了minicom工具,至于minicom的使用大家可以自行查找相关资料。 2、正文     此次调试环境实在两个平台下,负责发送串口数据一方是VxWorks平台,负责接收的一方是arm+Linux平台,发送的是一些必要的时间和其...
串口程序接收数据一段时间后出现乱码
发送端数据太快的问题 需要在发送端加延时;   用这个东西监控一下端口状况: http://technet.microsoft.com/zh-cn/bb896644.aspx [/Quote] 我用过一个串口跟踪器一样的东西,但是这个东西也只是从我的缓存里面读取数据,跟我编的程序读数据的结果是一眼的啊. 用串口监控软件监控串口,在出现乱码的时候先确定下是发送的问题还是接收到问题
WIN32API串口接收数据简单测试
进行简单的API中一部分关于串口通信函数的测试,为以后的上位机编写做准备。 下面是一部分从网上和msdn整理的函数说明:   ReadFile: BOOL ReadFile (    HANDLE hFile, //用CreateFile获得的文件句柄    LPVOID lpBuffer, //输入缓冲区首址    DWORD nNumberOfBytesToRead,//设
Python读取串口
在物联网的实验中,我们经常会用一些简单的Python脚本来读取串口通过终端显示。 Python读取串口并在终端显示,界面虽然不好看,但是有时候可以用来调试程序。 import serial import sys try: ser = serial.Serial('COM4', 9600) except Exception, e: print 'open seria
Qt4 串口一次打开问题
\class Posix_QextSerialPort \version 1.0.0 用Qt4 Posix_QextSerialPort串口程序遇到一个很奇怪的问题:  电脑开机第一次打开串口的时候Qt4写的程序的时候不能收发数据,如果用串口调试助手或者其他串口工具打开关闭一下串口,之后打开程序就正常了。 出现问题的代码: QString portName = re
Linux下串口编程遇 接收数据错误问题及原因
近日在调试串口的时候发现,另一设备向我ARM板的串口发送0x0d,我接收之后变成了0x0a,这是问题一;另外当对方向我发送一串数据,如果其中有0x11,那么我总是漏收此数,这是问题二。 由于问题莫名其妙,以为是笔记本的USB转232线缆的问题,换,问题依旧。 以为是对方设备的问题,采用串口调试助手模拟通讯设备与ARM板通讯,问题依旧。 无奈才去查看资料,最终得以解决,现总结如下:
android 使用服务读取串口数据实例
一些android 手机是有串口可以提供打开,读取一些底层的数据。如果手机本身没有串口的话,那么打开估计会报错。串口读取数据肯定是使用jni调用c代码来完成的。有一个开源的串口库android-serialport-api。其主页在这里http://code.google.com/p/android-serialport-api/  ,这里可以下到APK及对源码。谷歌的代码库,无奈国内无法下载
Linux读取串口数据
在Linux下实现串口的读取程序,主要包括了文件的一些格式
linux,串口读取指定数目的字节,串口读取数据错误
用到串口读取数据,要求数据
QSerailPort使用readAll()接收数据不全问题解决
使用vs2013+qt5.5.0使用QSerialPort时,因qt-add插件中没有QSerialPort模块,但qt安装目录中有QSerialPort类,故将qt安装目录下的QSerialPort头文件、库文件、dll动态库拷贝出来,使用 vs2013包含进头文件和库文件路径中,当成普通的库来使用。 近日在使用QSerialPort发送接收串口命令时,发送给串口的命令都正常,请串口
实时读取串口数据(系统方法)
读取串口为空自动堵塞直到读取到内容,一直监听所以要循环读取。    public class ReadThread extends Thread {         @Override         public void run() {             mThread=true;             String s="";             String s1=
Qt 实时读串口数据,并将读到数据从网口发送出去
1. 要试试从串口读取数据 2. 将读到数据从网口发送出去 3. 开机启动 4. 没有界面
数据、小数据、无数据:网络世界的数据学术
数据管理丛书
通过读取串口数据,把数据写入MySQL
//当提取到传感器的数据,要把数据存储到服务器,实现远程端访问, 把数据写到数据库是必不可少的一步, 本文通过python程序把串口数据传输到MySQL数据库实现了
MFC串口通信的两种方法及注意事项
1.基于Active控件的方式(MSComm)         优点是:直接利用控件,在串口数据到达时,会促发相应的事件响应函数,然后你可以在实践响应函数里,进行数据的读取。         缺点是:数据在发送和接受的过程中VARIANT、   COleSafeArray 类型的转换,显得繁琐。         步骤:        ①插入控件         选择Project菜单下
用Java语言向串口读写数据的方法
应用软件开发中java 是重要的一个方面,下面介绍用Java语言向串口读写数据的方法: Java对串口通信的支持 常见的Java串口包        SUN的CommAPI分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。目前,常见的Java串口包有SUN在1998年发布的串口通信API:comm2.0.jar(Windows下)、comm3.0.jar(Li
如何把从串口读到数据转换为十六进制的字符
//读取串口 void MySerial::readMyCom() {     QByteArray temp;     if(myCom->bytesAvailable() >= 8)     {         temp = myCom->readAll(); //读串口缓冲区数据       }     QDataStream out(&temp,QIODevice::Rea
读取arm串口读到了发送的数据
在最近的项目中,需要用上位机向arm发送命令,然后读取命令的返回信息。但是在读取arm串口时,总会读到上位机发送的命令,可是我的arm程序中明明没有通过串口发送接收到的命令。百思不得其解,最终把问题的根源定位到串口的初始化。linux下的串口初始化可以设置的选项众多,很有可能是某项设置出了问题。果然,在c_lflag中,有一项ECHO,其含义为“使能输入字符的回送”。正是因为设置了这一项,导致串口
基于labview串口通信
内容整理于网络:http://blog.csdn.net/h_kingone/article/details/70667105 一、十六进制和ASCII之间的相互转换 有的仪器进行与labview通信,它以十六进制的形式返回信息。例如,它不会返回字母"L”,而是返回它对应的十六进制表示"4C”。在LabVIEW中,我们需要编程实现将这个十六进制表示转换为其对应的
串口调试所遇到问题,总结与借鉴
问题确定串口接收数据丢失,用串口工具发送一串字符数据时,有时会出现会丢失一两个数据。 可能原因1:cpu处理速度过慢,在下一次中断来临时,此次中断还未处理完。 解决方法:使用ringbuffervoid USART0_IRQHandler( void ) interrupt 4 using 2 { uint8_t count; if(SFR_RI)
串口调试助手 可发送Excel中大量串口数据
本软件为调试时发送大量串口数据而写,考虑数据在Excel中编 辑比较方便,因此在普通串口调试功能基础上增加发送Excel中数据 的功能。 使用说明:Excel中第一列为序号,其内容可为序号或其他字符 、数字,如果为空其后数据不发送。同一行中数据依次发送,遇到单 元格为空时为止。 使用技巧:发送Excel中的数据提供发送范围选择、循环发送或 设定发送次数、设定发送间隔功能,在发送过程中以上选项都可实时 动态调整。例如:在发送过程中发现发送速度过慢,可调整发送间隔 。设定了发送范围,也可取消复选框“Excel数据范围:”选中状态从 而改为发送全部数据,还可修改具体范围。
串口数据写入到excel
串口接收2000个数然后传入EXCEL中,进行分析
ZigBee CC2530串口通信调试
刚接触ZigBee,熟悉了一下ZStack协议栈,总算有了点认识。先从调试串口开始,再慢慢开始协议栈代码调试,下面程序已实现发送和接收数据,用的是CC Debugge仿真器和ZigBee最小系统,使用串口还得接个USB转串口设备,我用的是USB转TTL串口,直接贴代码: 包含头文件和系统变量声明部分:#include #include #includ
让Eclipse支持串口打印调试信息(SSH及Telnet也可以参考)
【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:armink.ztl@gmail.com】 做嵌入式开发的工程师经常需要串口打印一些调试信息,调试软件时,一边看着串口助手打印信息,一边还得注意软件中的源码,这样效率非常低,如果软件开发工具集成了串口打印就会让调试提高很大的效率。 由于笔者一直使用Eclipse作为默认的开发工具,所以接下来介绍下如何在Eclipse上集成串口终端显
串口通信一次最多发送两个数据
include “reg52.h”sbit RS=P2^4; sbit RW=P2^5; sbit EN=P2^6; unsigned char buff[10],i,flag,k; unsigned char duanma[]=”0123456789”; void delay(unsigned char m) { while(–m); } void delays(unsi
串口大师ComMaster提示”找不到串口
windows系统上,串口是记录在注册表里的,串口大师也就是从注册表里找当前系统连接了哪些串口。每当一个串口设备接入系统后,系统都会将其记录在注册表中,用一个键值对来标记。串口大师就是通过检查键的名字来判断串口设备的。所以,如果这个键名不能被串口大师检测到,则串口大师就无法发现这个串口设备了。比如,某个串口蓝牙模块接入系统后,其在注册表中的键值对是这样:key:HKEY_LOCAL_MACHINE...
串口调试助手(SecureCRT)-使用小技巧
在嵌入式应用开发中,SecureCRT绝对是一款必不可少的的调试工具,通过它,开发人员可以修改硬件设备的配置,达到人机交互的目的。在我们的使用过程中,经常会遇见以下两个小问题,如果你没有找到解决的办法会给调试程序带来不方便,甚至是不能通过窜口终端调试硬件设备。下面我将给大家讲解如何破解这两个障碍,我所使用的小技巧。 1.串口终端明明已经和硬件平台建立连接,终端也能打印出开发板系统的启动信
VC++循环读写串口
在对话框添加串口控件,串口打开,配置,读写,关闭。 要循环读写可以用定时器SetTimer()。OnTimer(),KillTimer()这三个函数。
Linux串口编程一次读取全部输入的数据(输入数据不定长)
编程背景:板子是linux 2.6.39 系统,人机交互接口是板子上的一个串口。输入命令时,当长度大于8时,发现read读取到的数据是分多次得到的(串口用非阻塞模式读取数据),比如输入的字符长度为25(循环读取,下面贴代码):第一次读取8个,并发生串口中断(发生中断后中间会有一小会读不到数据,实测),然后又读取8个、8个、1个(‘\0’不占位),查了下原因,好多网友也遇到了这个问题,看了几个帖子
windows下获取串口数据的长度
windows下可以通过调用ClearCommError来获取接收的串口数据的长度。代码如下:UINT GetDataSize() { DWORD dwError = 0; COMSTAT comstat; memset(&comstat, 0, sizeof(COMSTAT)); UINT size = 0; if (ClearCommError(m_hCo
串口调试工具 XCOMv1.4
XCOM V1.1: 1.支持VSPD虚拟的串口,注意如果和物理串口同名,则物理串口打不开。就只 2.在串口打开状态下,CTS,DSR,DCD每秒更新一次 XCOM V1.2: 1.加强了发送功能,在发送失败的时候,会再次尝试打开串口,再发送 2.修正了在定时发送16进制,发送字符串而没有发送16进制的BUG XCOM V1.3: 1.修正了16进制接收大于127的BUG 2.修正了16进制发送没有计数的BUG XCOM V1.4: 1.处理了搜索不到串口的空指针异常 2.发送数据异常时,将关闭串口 3.获取串口状态异常时,将关闭串口 XCOM V2.0 1.增加了多条发送的数目,多达40条 2.可以任意编辑,导入导出您要发送的条目,文件的格式是excel 3.加入了协议传输,支持单次发送,自动连续连续发送,文件发送(如IAP串口升 重发机制以及多种校验方式,确保您传输的数据不出错 4.加强了16进制发送的功能,自动拆分您发送的字节,不必每隔一个字节就输入 5.加入了时间戳的功能,以”\r\n”换行回车断帧,在换行回车前加入时间戳
LABVIEW串口助手,可以显示十进制数据
使用LABVIEW8.5做的串口助手项目,主要特点是可以显示10进制。
异步串口通讯第一次接收数据错误
异步串口通讯, 当第一次打开串口, 即串口上电, 其
python串口读写
简单的python串口读写介绍 ser serial Serial 0 是打开第一个串口 print ser portstr 能看到第一个串口的标识 windows下是COM1 ser write “hello" 就是往串口里面写数据 ser close 就是关闭ser表示的串口 ser open 会打开这个串口
LabView中串口通信读取数据出现乱码的情况说明
因为通信过程中不定时,偶尔,随机出现传送数据乱码,困扰了我好多天,在各大论坛上也未找到解决办法,问了很多于是精简自己的程序框图,从最基本的串口读写入手,寻找问题,最终发现是因为自己把串口配置函数放在了大循环while里面,导致每次循环时,又会重新去配置串口,造成了延时,导致后面的数据读取
LabVIEW,串口,读取数据,简单实用
资源一分,LabVIEW的程序,尽量选用版本较高的,可以确信的是LabVIEW 2015可以打开资源。大神绕道,仅仅给LabVIEW初学者提供一个串口读取数据的范例
python实战串口助手---9串口接收显示
好不容易把接收的显示搞定了,但是不能显示16进制,不知道为何,上图,上代码 接收代码 [mw_shl_code=python,true]def SerRead(self): while self.ser.alive: n = self.ser.serSer.inWaiting() #print ("n=%s" % n) try: self.re
Cutecom--Linux下串口调试工具
Cutecom是一款在Linux环境下,非常好用的串口调试工具,使用方法几乎跟Windows下的串口调试工具一样,非常方便。 Cutecom的安装:直接在终端输入:sudo apt-get install cutecom。 安装完后,使用命令:sudo cutecom打开, 其界面显示如下: 跟windows串口软件的操作界面一样。注意串口名称可能没有完全识别,可以手动更改。
ubuntu虚拟机下使用minicom读取串口数据
串口配置1.很多教程中讲到在ubuntu虚拟机下使用串口时,必须在vmvare设置中添加串行端口,但是亲测后不需要添加。与此没有关系,所以不要如下图所示添加串行端口。 2.当给电脑插上USB串口线后,先在windows下设备管理器查看端口,对应虚拟机下会多一个可移动设备 3.在ubuntu虚拟机下的可移动设备的串口设备点击连接。此时串口将成为ubuntu下的设备,windows的设备
Delphi调用API函数操作串口
再贴上一段用API操作串口的代码,还是API好,一目了然,呵呵。 unit main;   interface   uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, StdCtrls, ExtCtrls;   type  TForm1 = class(TF
FPGA实验之串口接收
FPGA实验之串口接收串口数据的接收采样在每个数据位的中间,这样能够采集到比较准确的数据。(1)    建立工程(2)    编写程序module UART_receive(input CLK,RST,RXD,                                            output Receive_done,Odd_data,                      ...
CC2541蓝牙串口乱码解决
在CC2541蓝牙模块调试过程中,用到了串口模块,但是串口输出时偶尔会出现乱码,大部分情况数据正常的。最后通过TI的官方论坛和相关文档,查找到了原因: 原来CC2541在出厂默认情况下,当CC2541的射频工作时,即蓝牙发送或接收数据时,CPU会停机(halt),这是为了减小射频工作时的峰值电流。所以在固件设计时,要进行相应设置,把CC2541在射频工作时CPU halt的功能去掉。可以在初始
MATLAB 串口通信的实现。。
硬件上: 单片机通过串口发送数据,,  通过 USB转串口模块,  把数据发给电脑。。 在MATLAB上,对串口进行读取: delete(instrfindall) 这一句是删除所有串口设备。。   有的时候虽然关闭了串口但是上面仍然显示占用,,这个时候就需要这一句。。  然后是打开串口。设置一些常用的参数。    s.BytesAvailableFcnMode='
一个用matlab编写的串口调试程序,可以方便的读写数据
一个简单的matlab 编程串口通信程序。可以供初学者使用
51单片机按键通过串口发送字符串
本程序将51单片机的按键与串口发送很好的联系在一起,众所周知,如果处理不好的话可能会一次按键后,单片机不停的重复发送,且程序中应用了很好的去抖动部分,本程序在郭天祥实验板上验证过,可放心使用。
使用EXCEL记录串口数据
EXCEL 从串口接收数据。单片机AVR从串口发送数据
python实战串口助手---8串口多个发送解决
今晚终于解决了串口发送的问题,更改代码如下: def write(self, data):         if self.alive:             if self.serSer.isOpen():                 self.serSer.write(data) def m_send1butOnButtonClick( self, event ):
Unity读取串口数据
读取串口数据的过程其实就跟你读取文件操作IO时的过程差不多:首先要使用using System.IO.Ports;时需要先将 改为 具体操作: Edit -> Project Settings -> Player -> Other Settings -> Api Compatibility Level具体代码:using System.Collections; using System.
工作中串口读写同步方式下的效率优化记录事件
工作中的项目使用串口数据提供样机是同步方式的,以前主要用了异步方式的编码;对同步方式的编码没有自己的研究,只是先让可以工作。 但是在实际工作中发现读取的效率有问题:于是自己研究了这部分代码发现找的别人的例子代码是有大问题的。 暂时记录一下: bool CDJCom::ComRead(LPBYTE buf, int &len) { DWORD ReadSize = 0; BOOL rt
关于串口通讯每次只能接收8个字节
这两天在某嵌入式系统做了个串口通讯程序,遇到了每次只接收8个字节的问题。相信很多人都遇到了。 上网一查资料,找到串口配置结构体struct termios中的c_cc[VTIME] 和 c_cc[VMIN]参数。 c_cc[VTIME]   // 等待时间,单位百毫秒  c_cc[VMIN]     // 最小字节数  VMIN自然就是最少接收的字节数了。那不足VMIN的话怎么办呢
dgus屏串口通信时,发现数据有时候stm32能接收到,有时候接收不到,一直想不到是什么原因
在dgus屏上输入数据,发送给STM32,然后stm32接收到数据之后,显示到电脑上,但是,不看不知道,一看吓一跳,竟然会经常数据丢失!!!!找了一个下午也没找到什么原因,一直认为是串口中断函数出错了,可是看了n遍,也没觉得那个函数有问题啊。晚上睡觉觉都在想到底是怎么回事........,今早上一来,把一些程序先注释掉之后,结果发现,没问题了,突然脑子一转,肯定是定时中断搞得鬼,一查发现,开了两个
无法从COM口读取数据问题的解决方法
今天客户给我打电话,之前正常运行的软件突然无法从COM口读取数据了,重启软件也不行,我查了一下线,接的也没问题,怀疑是COM口出问题了,然后就重新启动了一下COM(即将COM1先停用,然后再启动),从新启动程序,一切OK
一款java串口调试工具
最近项目测试设备,原有的串口调试工具有局限,所以从新开发了一个.   实现平台:win7+java awt/swing   初始界面如下:      功能方面:   支持单行发送,循环发送,文件按行/整体延时发送,可以捕捉键盘从Receiver直接发送命令,接受窗口和发送窗口可单独收缩,放大,可以记录日志,按体积分割日志。   传输中界面:      部分功能还在完善中。   部
Python 串口读写实现
Python 串口读写实现如需转载请标明出处:http://blog.csdn.net/itas109 QQ技术交流群:129518031.安装pyserialhttps://pypi.python.org/pypi/pyserialDoc:http://pythonhosted.org/pyserial/使用Python Package Index (PyPi) pip install pys
串口WiFi的调试心得
物联网WiFi的使用,配置等分享
QT解决串口数据接收不完整问题
使用QT编写串口上位机时,串口通信的过程中有时会遇到数据接收不完整的问题,下位机一次发送的数据可能会分为两次甚至多次接收,这样就导致数据接收不完整,解决方案如下:void MainWindow::Read_Data()//读取数据函数,只要串口中有数据,就会进入这个函数 { static QByteArray buf;//QByteArray 类是定义一个字节数组(char *) 一定...
Matlab---串口操作---数据采集篇
matlab功能强大,串口操作也很简单,相信看过以下两个实验你就能掌握咯!开始吧! 实验1: 从电脑COM2口读取数据,并将数据保存在TXT文件中,方便数据分析,下面是M脚本: %名 称:Matlab串口-Lab1 %描 述:串口读,并写入txt文件中 s=serial('com2'); s.BytesAvailableFcnMode='byte'; % 串口设置 s.InputBuffe
一款很好用的串口监视器 可以不用打开串口就监视端口数据
一款很好用的串口监视器 可以不用打开串口就监视端口数据。是后台监视串口通信不可多的的好工具。
串口调试程序485,用于接收发送数据
串口接收发送数据程序,用485进行接收并发送程序,详细的信息在程序中全部注释好了
我们是很有底线的