串口已经打开但是接收不到数据 [问题点数:40分,无满意结帖,结帖人chun_888]

Bbs1
本版专家分:0
结帖率 100%
Bbs1
本版专家分:0
linux下串口通信打开正常,发送正常,但是接收不到数据的解决办法

在ubuntu上写<em>串口</em>通信程序时,出现了<em>数据</em>发送正常,但是无法<em>接收</em><em>数据</em>的现象,read()函数读取一直失败。经过查询资料,发现是<em>串口</em>配置一般在正规模式(.c_lflag = ICANON)下,因此<em>数据</em>读取到时一直存放在缓冲区,read()进行读取时只有识别到&quot;回车&quot;或者“换行”符号的时候,才会从缓冲区读取成功。解决办法1:对<em>数据</em>发送端进行处理,在<em>数据</em>末尾加上换行符号;解决办法2:原始输入模式是没有...

串口不到数据或者收到错误数据 串口乱码总结

1、查看你使用的USB转<em>串口</em>是3.3V的<em>串口</em>还是5V<em>串口</em>,如果发送方使用的是3.3V然后你使用的USB转<em>串口</em>是5V是可以收到<em>数据</em>的但收到的<em>数据</em>都是错误的 2、查看波特率、奇偶校验、停止位等是否设置正确。 3、如果是STM32,查看寄存器设置是否正确,时钟是否使能 4、查看是否将TX接成RX(很可能两根线接反了), 5、查看线是否是好的,可以换线试试,查看是否存在虚焊现象 6、查看驱动是否...

C#串口通讯接收不到数据(在线等。。)

我的软件是与PDA通过<em>串口</em>通讯。 我用的是C#语言,<em>串口</em>通讯用的.NET的SerialPort类。 我的SerialPort<em>打开</em>了,为什么有时候我的软件<em>接收</em><em>不到</em>PDA发送的<em>数据</em>呢? 用<em>串口</em>调试助手与

解决win10下 USB转TTL通讯串口 无法正常使用问题

【注:自己解决问题做的笔记,大神勿喷。有不足之处还望不吝赐教。】 一般win7下USB转TTL通讯<em>串口</em>都没问题,但到了win10下问题殊出。本篇解决的就是win10下USB转TTL通讯<em>串口</em>无法正常使用的问题。 这就是<em>已经</em>安装上了,但是无法正常使用。如果你尝试过用各种驱动软件都无法修复,且在电脑上也试过强制禁用数字签名都不行的话,也许你就来对了地方!这种问题,...

串口有时接收不到数据是怎么回事?

大家好,我用COM1<em>接收</em><em>数据</em>,平常都没问题,就是偶尔会突然没有<em>数据</em>发送过来,用<em>串口</em>精灵也<em>接收</em><em>不到</em>任何<em>数据</em>,这时我只要把COM1停用然后再启用就又可以正常<em>接收</em><em>数据</em>了。 小弟对<em>串口</em>了解很浅,问题又很急,向

C#串口类SerialPort收不到数据解决办法

最近再做一个项目,<em>串口</em>通信,但是只能受到一次<em>数据</em>后面怎么也收<em>不到</em>,我想了好久?难道微软提供的系统函数有问题?测试好久,发现居然是对方发送<em>数据</em>过快导致收<em>数据</em>回调函数无响应,我推测内存回调时候发生异常或者卡死,因为对方连发后软件直接卡死无响应,后来测试时间放慢后就正常了,看了很多论坛帖子发现都不是回答很清楚或者不能解决问题。所以我从实际中给出具体方法: (1)让对方减慢发送<em>数据</em>速度   (2)如...

串口接收不到数据

<em>串口</em>和单片机通信,以前可以<em>接收</em>到<em>数据</em>,最近收<em>不到</em>了;有时调试的时候commevent值为2 ,可以看到input里面有<em>数据</em>,但是用一个string字符串取出来后就什么都没有了;有时 Select Ca

stm32串口接收不到正确数据

cc2530通过<em>串口</em>以数组方式发送4个<em>数据</em>,定义地是unsigned char类型 下面是stm32提供的一个<em>串口</em>接<em>接收</em>函数 uint16_t USART_ReceiveData(USART_Type

利用STM32 的串口来发送和接收数据实验

0目标 1 STM32 <em>串口</em>简介 2 硬件设计 3 软件设计 4 下载验证 0.目标 利用<em>串口</em> 1 不停的打印信息到电脑上,同时<em>接收</em>从<em>串口</em>发过来的<em>数据</em>,把发送过来的<em>数据</em>直接送回给电脑。   1.STM32 <em>串口</em>简介 <em>串口</em>设置的一般步骤可以总结为如下几个步骤: 1) <em>串口</em>时钟使能, GPIO 时钟使能 2) <em>串口</em>复位 3)

STM32L4串口4,只要打开串口接收中断,串口就一直进入中断(原因及解决办法)

一、问题描述 只要一<em>打开</em>UART4接受中断,<em>串口</em>就一直高速进入中断!!!!!无语 这是我的中断服务函数,USRAT3为调试<em>串口</em>,执行程序,可以看见<em>串口</em>助手显示如下图: 可以看到<em>串口</em>一直进入中断4,执行打印1,下放是1秒钟<em>接收</em>的<em>数据</em>量。。。。。。。呵呵呵呵呵呵呵 二、发现问题 通过查寻标志位,发现问题出现在中断溢出上,如下图: 可以看见<em>串口</em>助手上的打印显示如下: 终...

串口通信----串口接收接收不到数据

在进行<em>串口</em>调试时,<em>数据</em>发送没有问题,da

串口程序发送接收数据问题 (没有据传输)

//<em>接收</em><em>数据</em> void ReceiveChar() { BOOL istrue; DWORD de = 0; char buffer[MAX] = { 0 }; DWORD data; BOOL f; DWORD doe; COMSTAT coms; BOOL m; OVERLAPPED over; /*********<em>串口</em>事件的设置***************/ istrue = SetCommMask(hComm, EV_RXCHAR | EV_TXEMPTY); if (istrue) { printf("<em>串口</em>事件设置成功!"); } else { printf("<em>串口</em>事件设置失败!请重试"); } /***************获取<em>串口</em>缓存区<em>数据</em>大小*********************/ istrue = 0; while (!istrue) { istrue = WaitCommEvent(hComm, &de, &over); } if (istrue) { if (de == EV_RXCHAR) { ClearCommError(hComm,&doe,&coms); if (coms.cbInQue>0) { f=ReadFile(hComm, &buffer, coms.cbInQue,& data, &over); if (!f) { m = GetOverlappedResult(hComm, &over,& data, true); while (!m) { if (GetLastError() == ERROR_IO_PENDING) { m = GetOverlappedResult(hComm,&over,& data, true); } } } } } } for (int i = 0; i }; DWORD data = sizeof(buffer); DWORD datal, n = 0; OVERLAPPED over; f = WriteFile(hComm, &buffer, data, &datal,&over); if (!f) { BOOL m; m = GetOverlappedResult(hComm, &over, &data, true); while (!m) { if (GetLastError() == ERROR_IO_PENDING) { m = GetOverlappedResult(hComm,& over, &data, true); n += datal; if (n==data) { break; } } } } }

在64位系统上如何进行串口通信

我在win32系统上用VS2005写了一个基于MSComm控件的<em>串口</em>通信程序,编译运行都没问题,通信也正常 但当我将其移植到x64系统上后,出现了问题,大家帮我看看是什么原因 Debug下:提示如图错

求教,为什么我的串口助手无法接收数据,可发送数据

// MSCommDlg.cpp : implementation file // #include "stdafx.h" #include "MSComm.h" #include "MSCommDl

C# 串口接收不到数据 请教

我用<em>串口</em>调试精灵往<em>串口</em>发送<em>数据</em>时侯能够<em>接收</em>到<em>数据</em>,但自己写的代码发送给<em>串口</em><em>数据</em>后,没有任何<em>数据</em>返回。用CommMonitor监听下来的结果是正常情况IOCTL_SET_CHAR :Chars Eof:

串口通信接收不到数据却可以发送

<em>串口</em>通信的程序,用<em>串口</em>调试助手通信,可以向调试助手发<em>数据</em>,调试助手也可以<em>接收</em>,但是,用调试助手发送<em>数据</em>,这边却<em>接收</em><em>不到</em>,我想是不是OnComm函数程序的问题,但是对照书上的,也没错的地方,或者是其他方

stm32USART问题:程序如下,问题是接收不到数据

#include "stm32f10x.h" #include "usart1.h" void USART1_Config(void); int main(void) { uint8_t text="

stm32f103串口接收不到收据,求指教。

static void USARTInit(void){ // USART_InitTypeDef USART_InitStructure; USART_ClockInitTypeDef USART_

STM32为什么用串口接收数据不全,时常丢失?

``` ```#include "stm32f10x.h" #include "usart.h" #include "delay.h" void My_USART1_Init(void) { GPIO_InitTypeDef GPIO_InitStrue; USART_InitTypeDef USART_InitStrue; NVIC_InitTypeDef NVIC_InitStrue; //①使能GPIOA和<em>串口</em>1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); //②初始化GPIOA两个引脚 GPIO_InitStrue.GPIO_Mode=GPIO_Mode_AF_PP; GPIO_InitStrue.GPIO_Pin=GPIO_Pin_9; GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz; GPIO_Init(GPIOA,&GPIO_InitStrue); GPIO_InitStrue.GPIO_Mode=GPIO_Mode_IN_FLOATING; GPIO_InitStrue.GPIO_Pin=GPIO_Pin_10; GPIO_InitStrue.GPIO_Speed=GPIO_Speed_10MHz; GPIO_Init(GPIOA,&GPIO_InitStrue); //③<em>串口</em>初始化 //波特率 USART_InitStrue.USART_BaudRate=115200; //硬件控制 USART_InitStrue.USART_HardwareFlowControl=USART_HardwareFlowControl_None; USART_InitStrue.USART_Mode=USART_Mode_Rx|USART_Mode_Tx; //奇偶验证 USART_InitStrue.USART_Parity=USART_Parity_No; //停止位 USART_InitStrue.USART_StopBits=USART_StopBits_1; //字长 USART_InitStrue.USART_WordLength=USART_WordLength_8b; USART_Init(USART1,&USART_InitStrue); //<em>串口</em>使能 USART_Cmd(USART1,ENABLE);//③ USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开启接受中断 USART_ITConfig(USART1,USART_IT_ORE,ENABLE);//开启溢出中断 //初始化中断 NVIC_InitStrue.NVIC_IRQChannel=USART1_IRQn; NVIC_InitStrue.NVIC_IRQChannelCmd=ENABLE; NVIC_InitStrue.NVIC_IRQChannelPreemptionPriority=1; NVIC_InitStrue.NVIC_IRQChannelSubPriority=1; NVIC_Init(&NVIC_InitStrue); } u8 usart_buf[4][USART_REC_LEN];//<em>接收</em>缓冲,最大USART_REC_LEN个字节 static volatile u16 count=0;//<em>接收</em>状态标记 static volatile int p=0; void USART1_IRQHandler(void) { if(USART_GetITStatus(USART1,USART_IT_RXNE)!=RESET)//开启<em>接收</em>中断 { USART_ClearITPendingBit(USART1,USART_IT_RXNE);//清除标志中断位 p = (count / USART_REC_LEN) % 4; usart_buf[p][count % USART_REC_LEN] = USART_ReceiveData(USART1); count++; } } int main(void) { //要使用中断,先要中断分组,一般在主函数的开头 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); My_USART1_Init(); delay_init(); while(1){ if(count > 0){ if(count % 256 == 0){ for(int i = 0; i < 256; i++){ USART_SendData(USART1,usart_buf[p][i]); while(USART_GetFlagStatus(USART1,USART_FLAG_TC)!=SET); } printf("\r\n\r\n"); delay_ms(100); } } }; } ![图片说明](https://img-ask.csdn.net/upload/201910/31/1572495626_268037.png)

串口中断接收方式详细比较

<em>串口</em>中断<em>接收</em>方式详细比较 <em>串口</em>调试,以前也调过,只是没这么深入的琢磨过,最近又在弄,感觉<em>串口</em>很基本,也很有学问,要是出现BUG可能导致系统奔溃。。。现在贴出来,欢迎拍砖指正!!! 本例程通过PC机的<em>串口</em>调试助手将<em>数据</em>发送至STM32,STM32通过SP3232芯片采用中断<em>接收</em>方式完成,然后<em>接收</em><em>数据</em>后将所<em>接收</em>的<em>数据</em>又发送至PC机,具体下面详谈。。。   实例一: void USART1

求助!Linux下串口接收数据丢失

通过PC给arm的<em>串口</em>发送<em>数据</em> <em>数据</em>是每隔30ms发送一次,一次发送4个字节 <em>串口</em>收到<em>数据</em>后再通过开发板的debug口在PC上打印出来 结果发现<em>数据</em>丢失严重,发800个字节大概丢50个,发4000个字

Linux下串口发送数据一段数据后发送不出去(可以正常接收

Linux下<em>串口</em>发送<em>数据</em>一段<em>数据</em>后发送不出去(可以正常<em>接收</em>),在PC调试时一切正常,但是连接到别的板子上做<em>数据</em>透传时出现了这样的问题 解决办法:在<em>串口</em>初始化和波特率设置时将options结构体memset为0,但是不清楚真正的原因 static int set_speed(int fd, int speed) { int i; int status; struct ter

串口通讯接收不到数据

<em>串口</em>助手可以正常<em>接收</em>电子天平的<em>数据</em>,也能正常发送,rs232接口。但是当连接ph计时,<em>接收</em><em>不到</em>ph计的<em>数据</em>,这是为什么,ph计用的是梅特勒的。各种<em>串口</em>助手都试过了

串口没有接收数据却一直进接收中断

由于项目需要,用到了5个<em>串口</em>,在使用的过程中遇到了几个问题: 一、<em>串口</em>4和<em>串口</em>5无法进入<em>接收</em>中断,这个问题在网上<em>已经</em>找到了答案,这里也说明一下,是因为我的工程里面用到的启动文件是md的,对应stm32c8t6系列单片机,他在硬件资源上本身就没有UART4和UART5,因此他配套的启动文件里面没有UART4和UART5相关的声明。解决办法是将启动文件换成hd的。 二、有一路<em>串口</em>没有<em>接收</em><em>数据</em>他却能一直...

关于linux串口通信中接收不到数据的问题!!

最近有个任务就是通过RS232<em>串口</em>采集<em>数据</em>并处理。刚接触<em>串口</em>通信,参考网上的资料写了一份如下代码,运行时发现能<em>打开</em><em>串口</em>,但是一直显示<em>接收</em><em>不到</em><em>数据</em>。请各位大神指导下,谢谢。 #include<stdio

为什么我的串口助手不读取数据,显示没有数据

#include int YPR; unsigned char Re_buf,counter=0; unsigned char sign=0; int led = 13; //---

串口助手显示接收数据,但是界面没数据显示

ATOS实验箱中测量节点温度,并显示出来,程序运行正确,也成功下载,但是在<em>串口</em>助手却只能显示<em>接收</em>到<em>数据</em>,界面上啥都没有,改成16进制显示,界面上显示的全部是0,不知道是是怎么回事?求大神解答~

C#使用serialport串口发送和接收接收不到返回数据

自己写的一个<em>串口</em><em>接收</em>发送的小程序,向<em>串口</em>发送命令是应该有返回信息的 可是写的程序运行没有任何返回信息,求解 public partial class Form1 : Form { SerialPort

求教!串口通信接收不了数据

<em>数据</em>可以发出去,但是就是<em>接收</em><em>不到</em>。。。。 代码: BOOL CcomDlg::OnInitDialog() { //1 <em>打开</em><em>串口</em> hCom = CreateFile(_T("COM5"), GENER

根据厂家提供的仪器的通讯协议,用串口调试助手,接收不到数据。。?

根据厂家提供的仪器的通讯协议,用<em>串口</em>调试助手,<em>接收</em><em>不到</em><em>数据</em>。。? 一. 通讯方式: 1. 监控设备仪器与计算机集中监控软件间的连接采用RS232通讯方式. 2. 通讯波特率: 9600bps. 3.

WIN10 X64如何USB转串口

电脑无物理COM口,安装PL2303后不管用,不知道什么那款USB转<em>串口</em>软件可以把USB转成<em>串口</em>

STC1C5A60S2第二串口死活接收不到数据……

测试了一下午了,死活收<em>不到</em><em>数据</em>…… 下面附官方给的程序。 发送中断都能进,<em>接收</em>就是进不去。 把PCA映射到P4口去了,也还是不行, 官方的QQ回复就更…… 下面是官网给的代码,希望大佬能找到原因……换了一片还是不行,总不能说这批全坏了吧…… #include "reg51.h" #define FOSC 11059200L #define BAUD 115200 #define NONE_...

串口通信返回数据不对

sp.Read(rbuffer, 0, fh_rbuffersize); string yb_address = Convert.ToString(rbuffer, 16); if (yb_addre

c#利用虚拟串口工具进行串口通信数据的发送和接收

原文:我的个人博客 <em>串口</em>通信 <em>串口</em>通信(Serial Communications)的概念非常简单,<em>串口</em>按位(bit)发送和<em>接收</em>字节。尽管比按字节(byte)的并行通信慢,但是<em>串口</em>可以在使用一根线发送<em>数据</em>的同时用另一根线<em>接收</em><em>数据</em>。<em>串口</em>通信最重要的参数是波特率、<em>数据</em>位、停止位和奇偶校验。对于两个进行通信的端口,这些参数必须匹配。 VSPD虚拟<em>串口</em>工具 在硬件缺失的情况下,要想测试代码使用的是...

串口通讯:接收不到完整的数据

用mscomm<em>串口</em>控件, 设置<em>接收</em>20个字节时,触发事件, 但有事件触发,但收到的<em>数据</em>不足20个字节。 用BusHound监控查看,发现,是分二段<em>数据</em>还回。。 请问下,这种情况要怎么处理? :会提示:

MFC编写的串口通信程序,接收不到数据???

最近用基于MSComm控件,用MFC编写了一个<em>串口</em>收发<em>数据</em>的小程序!单片机的程序就是,<em>接收</em>上位机发送的<em>数据</em>,并发回给上位机。<em>串口</em>调试助手测试成功。但是我用自己编的<em>串口</em>界面测试时,发送框的<em>数据</em>可以发送,

怎么把串口数据接收到的数据显示到编辑框里

// TODO: 在此处添加消息处理程序代码 if (m_mscom.get_CommEvent() == 2) { char str = { 0 }; long k; VARIANT InputDa

串口接收丢失数据的问题

运行在arm-linux上的录像程序,同时要<em>接收</em>响应上位机的命令。 从视频流得到的视频<em>数据</em>放置在内存中的视频文件中,一个文件结束后拷贝到sd卡上。 但是这样做就引起<em>串口</em><em>接收</em>的问题,当<em>接收</em>一条70多个字

急急急....RS-485串口为什么接收不到数据?懂串口的进来看看啊..

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin

利用串口调试助手向开发板传输数据:我的开发板接收程序没有运行,怎么出口传输助手可以发数据并且显示可以接收?但是不能接收16进制?

配个图:

关于串口通信数据接收失败的问题

那一根<em>数据</em>线,分别连了两台电脑的COM2口 通过发送端向端口写<em>数据</em> ::WriteFile(m_hComDev, leftdata, leftlength,(unsigned long*)&rc, N

MDK中使用虚拟串口进行调试

转载自:   http://bbs.ednchina.com/BLOG_ARTICLE_310610.HTM 题目有点拗口,想利用<em>串口</em>调试Modbus啊,GPS啊什么的,可是手头没有硬件,怎么办?其实字节KEIL MDK和VSPD(这里两个软件网上都很容易就可以下载到破解版,如果找<em>不到</em>可以给我联系)就可以,这样调试<em>串口</em>就会很方便了。看了很多的文章,写的都很简单(其实也很简单:))。给出个

有人做过串口的误码率测试没有,帮忙指点下或者给个参考神马的

c#做无线电台信道的误码率检测,大家说说都有什么招吧

发送数据串口调试助手无法接收数据

初学<em>串口</em>编程,写了一个<em>串口</em>程序,<em>接收</em>部分没有问题,有<em>串口</em>调试助手,用我写的程序发送<em>数据</em>,<em>串口</em>调试助手<em>接收</em>没有<em>数据</em>,是不是的写<em>数据</em>部分有问题啊,求指教;多谢了 BOOL CYBcommDlg::Writ

DSP28335串口无法发送和接收数据

简化的代码如下,给上位机的<em>串口</em>助手发送内容失败,<em>串口</em>助手发送内容给下位机也不行,通信格式配置应该是对的,本人刚学dsp,求大神告知。 #include "DSP2833x_Device.h" #inc

Linux串口编程

原文地址::http://www.cppblog.com/amazon/archive/2010/01/28/106644.html     1.<em>串口</em>操作需要的头文件 #include          //标准输入输出定义 #include         //标准函数库定义 #include        //Unix标准函数定义 #include #include

为什么调用不了串口接收函数呢 只能发送 不能接收? 本人菜鸟,求指点

public partial class Form1 : Form { //SerialPort sp1 = new SerialPort();//声明一个<em>串口</em>类 bool isOpen = false;//<em>打开</em><em>串口</em>标志位 bool isSetProperty = false;//属性设置标志位 bool isHex = false;//十六进制显示标志位 public Form1() { //sp1.DataReceived += new SerialDataReceivedEventHandler(sp1_DataReceived); InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.MaximumSize = this.Size; this.MinimumSize = this.Size; this.MaximizeBox = false; for (int i = 1; i < ReceiveData.Length; i++) { RecvDataText += ("0x" + ReceiveData[i].ToString("X2") + " ");//X为十六进制 2为每次都是两位数 这样看着整齐 } tbxRecvData.Text += RecvDataText; } sp1.DiscardInBuffer();//丢弃<em>接收</em>缓冲区的<em>数据</em> })); } private void btnSend_Click(object sender, EventArgs e) { //写<em>串口</em><em>数据</em> if (isOpen) { try { sp1.WriteLine(tbxSendData.Text); } catch { MessageBox.Show("发送<em>数据</em>时发生错误!", "错误提示"); return; } } else { MessageBox.Show("<em>串口</em>未<em>打开</em>!", "错误提示"); return; } //检测要发送的<em>数据</em> if (!CheckSendData()) { MessageBox.Show("请输入要发送的<em>数据</em>!", "错误提示"); return; } } private void btnOpenCOM_Click(object sender, EventArgs e) { if (isOpen == false) { if (!CheckPortSetting()) { MessageBox.Show("<em>串口</em>未设置!", "错误提示"); return; } if (!isSetProperty)//<em>串口</em>未设置则设置<em>串口</em> { SetPortProperty(); isSetProperty = true; } try//<em>打开</em><em>串口</em> { sp1.Open(); isOpen = true; btnOpenCOM.Text = "关闭<em>串口</em>"; //<em>串口</em><em>打开</em>后则相关的<em>串口</em>设置按钮便不可再用 cbxCOMPort.Enabled = false; cbxBaudRate.Enabled = false; cbxDataBits.Enabled = false; cbxParity.Enabled = false; cbxStopBits.Enabled = false; rbnChar.Enabled = false; rbnHex.Enabled = false; } catch { //<em>打开</em><em>串口</em>失败后,相应标志位取消 isSetProperty = false; isOpen = false; MessageBox.Show("<em>串口</em>无效或已被占用!", "错误提示"); } } else { try //<em>打开</em><em>串口</em> { sp1.Close(); isOpen = false; isSetProperty = false; btnOpenCOM.Text = "<em>打开</em><em>串口</em>"; //关闭<em>串口</em>后,<em>串口</em>设置选项便可以继续使用 cbxCOMPort.Enabled = true; cbxBaudRate.Enabled = true; cbxDataBits.Enabled = true; cbxParity.Enabled = true; cbxStopBits.Enabled = true; rbnChar.Enabled = true; rbnHex.Enabled = true; } catch { MessageBox.Show("关闭<em>串口</em>时发生错误!", "错误提示"); } } } private void btnCleanData_Click(object sender, EventArgs e) { tbxRecvData.Text = ""; tbxSendData.Text = ""; tbxSendData.Focus(); } private void Form1_FormClosing(object sender, FormClosingEventArgs e) { System.Environment.Exit(0); }

串口不能接受数据的问题!!

代码如下: Public WithEvents g_port As IO.Ports.SerialPort g_port.PortName = mPort g_port.BaudRate = Bual

串口接收数据程序,单步调试可以收到数据,但是直接运行却收不到

我是通过另外一台电脑上的<em>串口</em>调试工具发送<em>数据</em>,每100毫秒发送一次,发送内容是china 单步调试的时候可以<em>接收</em>到<em>数据</em>,但是直接运行就收<em>不到</em><em>数据</em>了! 一下是单步调试的截图、直接运行的截图和源代码 图一

串口接收数据出现问题,

当我发送的<em>数据</em>大于等于128时,<em>接收</em>到的<em>数据</em>就会被替换成63,而这63时parity replace中的值,![图片说明](https://img-ask.csdn.net/upload/201609/08/1473348138_252184.png)百度没找到解决方法,只了解是奇偶校验异常引起的, 我的<em>串口</em><em>接收</em>是这样写的: ``` string str = serialPort1.ReadExisting().ToString(); RX += str.Length; toolStripStatusLabel2.Text = "RX : " + Convert.ToString(RX); string a = "", b = "-"; a = str; List l = Encoding.ASCII.GetBytes(a).ToList(); byte[] data = l.ToArray(); a = (BitConverter.ToString(data)); ``` 仿真时出现![图片说明](https://img-ask.csdn.net/upload/201609/08/1473348077_420730.png) 实在没搞明白,在这里向大家求助

C# 串口接收不到数据

我用<em>串口</em>调试助手可以<em>接收</em>到<em>数据</em>,但是用自己编写加修改人家代码得到的C#<em>串口</em><em>接收</em><em>不到</em><em>数据</em>,请高手指教,我将代码贴出来 using System; using System.Collections.Gen

关于C# 读串口数据 打开关闭接收不到数据的问题

是这样的,我写了一个C#<em>接收</em><em>串口</em><em>数据</em>的程序,大致结构是这样的 mySerialPort.PortName = "COM1"; mySerialPort.BaudRate = 9600; mySeria

C# 解决串口接收数据不完整

C# 解决<em>串口</em><em>接收</em><em>数据</em>不完整 引用链接   http://www.cnblogs.com/haofaner/p/3402307.html   使 用缓存机制完成。首先通过定义一个成员变量List&amp;lt;byte&amp;gt; buffer = new List&amp;lt;byte&amp;gt; (4096);用来存放所有的<em>数据</em>,在<em>接收</em>函数里,通过buffer.AddRange()方法不断地将<em>接收</em>到的<em>数据</em>加入...

求助:STM32F205 串口无法接收数据

现象如题. 发送中断是可以进去的。 想了很久没想到原因在哪,求帮助。 代码如下: void NVIC_Configuration() { NVIC_InitTypeDef NVIC_InitStruc

C# 串口的初始化 以及通过串口的收发数据

C# <em>串口</em>的初始化 以及通过<em>串口</em>的收发<em>数据</em> C# <em>串口</em>的初始化 以及通过<em>串口</em>的收发<em>数据</em>

js接受串口无法接受串口数据,什么原因?

发给<em>串口</em>的命名是:01 03 00 00 00 01 84 0A,但是无法接受到<em>数据</em>,不知道什么原因? JavaScript<em>串口</em>测试 <met

Linux串口通信中一种接收不到数据的问题的解决

转载来源:嵌入式系统之初学者点滴 (百度空间) 原文 在这篇文章()中,实现了Linux环境下的<em>串口</em>读写操作,程序也运行成功了。但是再进一步测试时发现,如果开机之后直接如上文中所说,分别运行读程序和写程序,再用导体同时触碰<em>串口</em>的2、3针的话。此时将显示写入<em>串口</em>成功,但是读<em>串口</em><em>数据</em>失败。 这个奇怪的问题当时之所以没有被发现出来,是因为在这之前,曾经<em>打开</em>过一次minicom。后来实验

关于串口接收并解析数据

<em>接收</em>就是在SerialPort类的rececivedata里面<em>接收</em> int a=comm.ByteToRead; byte buf=new byte; comm.Read(buf,0,a); 现在的情

急!串口开发,SerialPort接收不到数据

我这几天在做<em>串口</em>通讯的开发,使用<em>串口</em>助手能够<em>接收</em>到<em>串口</em>发送过来的<em>数据</em>,但是用SerialPort就<em>接收</em><em>不到</em><em>数据</em>。定时读取获得的是空字符串,使用DataReceived事件则不能触发。 程序如下: us

串口发送数据接收数据问题。

对<em>串口</em>也是一无所知,做<em>串口</em>的底层开发。 想请教大神,一个<em>串口</em>能发送<em>数据</em>,然后自己<em>接收</em><em>数据</em>么? 我这样写完 用虚拟<em>串口</em>测试 开启两个程序可以互相收发 开启一个程序,<em>打开</em><em>串口</em>,进去发送<em>数据</em>没有反应。订阅事

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

串口数据接收小结

对于<em>串口</em>的<em>数据</em><em>接收</em>,<em>串口</em>本身无法保证<em>数据</em>的完整性。因为这里不是它需要做的,对于应用层的<em>数据</em>只有应用层知道什么样的<em>数据</em>是完整的。<em>串口</em>只是<em>接收</em><em>数据</em>,不能要求它什么都知道。所以应用层的<em>数据</em>是否完整只能由应用层自己来判断。在<em>接收</em>时,添加必要的<em>数据</em>校验。大体思路如下: 如果判断<em>数据</em>不完整,就继续<em>接收</em>。如果完整,就退出<em>接收</em>。等待必要的时间后和次数后,如果<em>数据</em>依旧不完整就退出。   <em>接收</em><em>数据</em>

串口发送数据——字符串发送与十六进制发送的区别

在使用<em>串口</em>发送<em>数据</em>时可以选择字符串发送或者十六进制发送,通常情况下我们习惯选用字符串发送<em>数据</em>。关于两者的区别,需要从计算机存储<em>数据</em>的格式说起。         在计算机中,<em>数据</em>是以二进制的形式存储的,例如十进制 1(10)在计算机中用 0000 0001(2)来表示。我们在用<em>串口</em>发送<em>数据</em>的时候首先将待<em>数据</em>转换为对应的ASCII码,然后再将这些ASCII码按照二进制的方式一位一位的发送出去。 例

VB 串口接收不到数据(急!)

VB与单片机的通信 运行结果Text1 , Text2 <em>接收</em>到“A”,Text3 却没有收到,即使多发几个也一样没收到,请各位高手帮帮小弟,感激不尽!!(程序如下) 单片机发送用MATLAB仿真过,没

串口通讯问题 接收不到数据

帮帮忙 弄了好久还没弄好 这是easyarm2103的 <em>串口</em>通讯uart 为什么我的 <em>串口</em>调试工具都<em>接收</em><em>不到</em>传送过来的<em>数据</em> 以下是代码 非常感谢大家 代码是周立功的 easyarm教材上的程序 #in

RS232 串口接收不到数据

//发送<em>数据</em>正常,在HyperTerminal中可以<em>接收</em>显示 //从HyperTermianl发送,READBYTE()就是没有结果,请各位大侠不吝赐教. // RS232.cpp : Defines

Java RXTX串口可以发送数据,但接收不到数据

刚接触<em>串口</em>,写了以下代码。利用软件虚拟了两个<em>串口</em>,运行以下代码时,可以发送<em>数据</em>,却不<em>接收</em><em>不到</em><em>数据</em>,多次测试,发现监听(serialEvent)一直进不去,求各位大大指教。 package com.re

串口读取不到数据

1、有一个<em>串口</em>设备,用RS485-USB接口读取,用笔记本(windows,linux)读取都是可以的。 2、换了一台笔记本,不插电源,只用笔记本的电池供电,可以读取。可是插上电源之后立马就读<em>不到</em><em>数据</em>

VB串口接收不到数据

'发送<em>数据</em> Private Sub senddata_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

关于串口接收到的数据怎么处理呢?求大神

各位好! 我通过<em>串口</em><em>接收</em>到的原始<em>数据</em>怎么解析 看下面图片 设备上显示的是1540 我怎么解析收到的<em>数据</em> 只显示1540 以下是我<em>接收</em>到并处理的<em>数据</em> 正常<em>接收</em>没有转换的<em>数据</em>: +001540 01B

求大神解释。。。串口接收返回数据的问题???接收不到返回数据

在IntentService里写的俩方法, 发送方法是可以的 但是怎么<em>接收</em>返回<em>数据</em>??? <em>接收</em>方法一直收<em>不到</em> 广播发出去了,但没有<em>数据</em>去更新UI //发送方法 private void send(){

安卓串口通信接收数据不到

1、在安卓模拟器上通过电脑虚拟<em>串口</em>给<em>串口</em>调试软件发送<em>数据</em>可以正常发送,并且没有长度限制 2、用<em>串口</em>调试软件给安卓模拟器发送<em>数据</em> 当字节数少于8个时 <em>数据</em>可以正常发送和<em>接收</em> 但是超过8个时模拟器就卡死

STM32之USART串口接收数据处理

//原帖http://bbs.elecfans.com/forum.php?mod=viewthread&tid=445463 //在学习过程中发现几处编译错误,并改正; //主要贴出定义、和中断函数部分; uint8_t usart_rx_buf[5][40];    //<em>接收</em>缓冲,最大40个字节 uint8_t usart_rx_temporary[40]; //<em>数据</em>保存暂存器,最

串口通信——接收串口数据并处理(C语言)

<em>串口</em>通信——<em>接收</em><em>串口</em><em>数据</em>并处理(C语言)

串口接收不定长数据的几种方式

在阅读本文前,你需要先做到<em>串口</em>成功<em>接收</em>一个<em>数据</em>(相信这一点是很简单的) 这几天简单总结了一下用<em>串口</em>怎么<em>接收</em>一帧<em>数据</em>的办法,个人使用的有三种,下面逐一介绍: 第一种:使用中断的方式; 这种在<em>数据</em><em>接收</em>不频繁状态下使用。简单易实现。既然是使用中断,所以自然需要硬件的支持,比如stm32就可以这么做,具体操作见我之前的博客stm32<em>串口</em>中断<em>接收</em>一帧<em>数据</em> 8位单片机估计是没有的,嵌入式32位的处

STM32串口发送数据接收数据方式总结

之前写了篇关于ESP8266使用AT指令进行互相通讯的实验,在写STM32<em>串口</em>接发<em>数据</em>的程序中,觉得有必要将之前学的有关于<em>串口</em>方面的使用经历加以总结。 <em>串口</em>发送<em>数据</em>: 1. <em>串口</em>发送<em>数据</em>最直接的方式就是标准调用库函数。void USART_SendData(USART_TypeDef* USARTx, uint16_t Data); 第一个参数是发送...

串口接收数据与分析处理

一、每接受完一个字节的<em>数据</em>,进入一次中断。 u8 USART_RX_BUF[USART_REC_LEN]; 【注】:在STM32例程中,定义  u8 USART_RX_BUF[USART_REC_LEN];    把一个字节的<em>数据</em>放入数组中,u8是8位 unsigned int型,u8就是一个字节,一个字节8位。 参考:    bit、byte、位、字节、汉字的关系     ...

串口接收数据有误,求指导!

上位机给<em>串口</em>发送<em>数据</em>,单片机通过<em>串口</em><em>接收</em>到的<em>数据</em>以什么结尾@TOC <em>串口</em><em>接收</em>到<em>数据</em>后对<em>数据</em>最后几位进行判断,总是进不去判断函数是什么原因,<em>串口</em><em>接收</em>到<em>数据</em>后会不会自动加什么标志,求大佬指导? <em>串口</em>通过中断<em>接收</em>到<em>数据</em>后通过判断最后几位使标志位置1,不过总是进不去判断函数 这是<em>串口</em>助手发送的<em>数据</em> 欢迎使用Markdown编辑器 你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你...

C# 串口通信(彻底解决C#串口通信中的数据丢失问题)

以网上某位大虾的源码为版本,沿用了其可用的代码部分。对其余欠妥部分进行了改造。不要资源分,是大家不用为积分而烦恼。出来混都不容易,希望大家相互照应!

c#串口数据读取不全问题

![正确的NFC贴片值](https://img-ask.csdn.net/upload/201611/30/1480487915_614568.png) 我自己写的值和代码 private void sp_DataReceived(object sender, SerialDataReceivedEventArgs e) { System.Threading.Thread.Sleep(100);//延时100ms等待<em>接收</em>完<em>数据</em> // this.Invoke就是跨线程访问ui的方法 this.Invoke((EventHandler) (delegate { if (isHex == false) { tbxRecvData.Text += sp.ReadLine(); } else { Byte[] ReceivedData = new Byte[sp.BytesToRead]; sp.Read(ReceivedData, 0, ReceivedData.Length); String RecvDataText = null; for (int i = 0; i < ReceivedData.Length; i++) { RecvDataText += (" " + ReceivedData[i].ToString("X2") + ""); } tbxRecvData.Text += RecvDataText; } sp.DiscardInBuffer();//丢弃<em>接收</em>缓冲区<em>数据</em> })); } ![图片说明](https://img-ask.csdn.net/upload/201611/30/1480488296_546399.png)

C# 串口读取数据不完整

int bytes = serialPort1.BytesToRead; 我在后面定义一个数组: byte buffer = new byte; 当<em>串口</em>缓存里有16个<em>数据</em>时,bytes却只有3,有时是

C#读写串口数据,读不到

如题,代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.D

C#编写的串口读取,接收不到数据怎么回事

我用的是C#的,SerialPort控件来读取<em>串口</em><em>数据</em>,用虚拟<em>串口</em>实验没问题了,但是我用单片机通过<em>串口</em>发送<em>数据</em>时,这就接<em>不到</em>了,可是我用<em>串口</em>助手就能读出来<em>数据</em>,有人知道这是怎么回事吗。 private

C# serialport 串口 接收数据不全

使用serialport 向设备发送请求并获得响应<em>数据</em> SerialPort sp = new SerialPort(); sp.PortName = "COM2"; sp.BaudRate = 24

c#串口上位机通信问题,无法触发接收数据事件的原因

碰到一个很奇怪的事情,用C#自带的<em>串口</em>类,实例化对象后,注册<em>数据</em>回调事件,然后,按照通信原则,设置好相关的<em>数据</em>格式,<em>打开</em><em>串口</em>,然后发送。发送是成功的,这个在助手上测试过,因为有返回<em>数据</em>,所以能显示出来

C#从串口接收到的数据,用的事件serialPort_DataReceived,怎么才能转换为全局变量来使用?

private void serialPort_DataReceived(object sender, SerialDataReceivedEventArgs e) { int len = seria

C#串口通信:发送数据接收指令无法触发数据接收事件(serialPort1_DataReceived)

在上位机调试的时候发现连续发送两次<em>串口</em><em>数据</em><em>接收</em>指令,<em>数据</em><em>接收</em>处理事件只响应一次,请问这个是什么原因? <em>数据</em><em>接收</em>触发事件: private void serialPort1_DataReceived(o

C#的serialPort已经打开,但是接收不到数据??

使用C#的serialPort控件<em>串口</em>通信,单独做个小的测试程序,用<em>串口</em>助手调试,<em>接收</em>发送都没有问题,但是把这个功能放到我要编写的大程序里就只可以<em>打开</em><em>串口</em>,不能<em>接收</em>到<em>数据</em>,请问这个是怎么回事,怎么解

C#实现串口数据循环发送

C#实现<em>串口</em><em>数据</em>循环发送(待更) 1.起始 最近在公司做上位机和设备进行<em>串口</em>通信的项目,自己就写了个<em>串口</em>通信工具,今天是第三天,刚刚实现<em>串口</em>的双向通信。 2.软件的架子 先进行界面设计,将需要的功能放上来。 主要功能包括:<em>打开</em><em>串口</em>、关闭<em>串口</em>,向<em>串口</em>发送<em>数据</em>以及从<em>串口</em>读取<em>数据</em>。在发送和<em>接收</em>的文本框里面,我加上了切换16进制的功能,方便调试。

C#中使用seriport和单片机进行串口数据收发不全,解决办法

最近做了一个项目,上位机向单片机要205个字节的报文。每次上位机<em>接收</em>的<em>数据</em>总是分成好几段,不能一次<em>接收</em>205个字节。所以对<em>数据</em>处理造成影响。因此就想着怎么能实现一次<em>接收</em>205字节<em>数据</em>,一次进行处理。试了很多办法,最后终于解决了。 C#中,使用的是serialPort.DataReceived来<em>接收</em><em>数据</em>。一开始,上位机向单片机发送轮询指令后,单片机按照modbus协议上传205个字节<em>数据</em>。但是每次

C# SerialPort串口通信发送接收,处理接收数据完整

using System; using System.Collections.Generic; using System.IO.Ports; using System.Linq; using System.Text; using System.Threading; namespace SerialPortCom {     public class SerialPortComImp

C#串口通信数据不完整

下面代码是我使用C#开发<em>串口</em>通信写的代码,在实现<em>串口</em>通信过程中,在<em>数据</em><em>接收</em>线程中, 未加这条语句Thread.Sleep(50);我使用<em>串口</em>工具调试 ,<em>串口</em>通信正常,但是在与实际单片机通信过程中,出现<em>数据</em>不完整现象,经过多方查询,发现模拟状态下<em>串口</em>通信速率是理想状态,但是在实际通信过程中,<em>串口</em>通信并不是理想状态,有速率限制。 因此在<em>接收</em><em>串口</em>通信时应该有一定的延时,这样给予<em>串口</em>充足时间<em>接收</em>收据,这...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

Java基础知识面试题(2020最新版)

文章目录Java概述何为编程什么是Javajdk1.5之后的三大版本JVM、JRE和JDK的关系什么是跨平台性?原理是什么Java语言有哪些特点什么是字节码?采用字节码的最大好处是什么什么是Java程序的主类?应用程序和小程序的主类有何不同?Java应用程序与小程序之间有那些差别?Java和C++的区别Oracle JDK 和 OpenJDK 的对比基础语法<em>数据</em>类型Java有哪些<em>数据</em>类型switc...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

06年福克斯更换油箱盖支架下载

自己更换福克斯油箱盖支架的记录,网上没找到较详细的描述,自己有经历了,贡献出来供后来者参考。照片是手机拍的,不是恒清楚,不过能看 相关下载链接:[url=//download.csdn.net/download/luoyezf/5004592?utm_source=bbsseo]//download.csdn.net/download/luoyezf/5004592?utm_source=bbsseo[/url]

西安高校电脑节联赛2012试题下载

西安高校电脑节联赛2012试题 分为ABC三组 相关下载链接:[url=//download.csdn.net/download/bicai2/5058226?utm_source=bbsseo]//download.csdn.net/download/bicai2/5058226?utm_source=bbsseo[/url]

udp通信示例下载

udp通信的示例,包括客户端和服务端。 可以在window和linux上运行。 相关下载链接:[url=//download.csdn.net/download/lixiuju_123/7679331?utm_source=bbsseo]//download.csdn.net/download/lixiuju_123/7679331?utm_source=bbsseo[/url]

我们是很有底线的