精华内容
下载资源
问答
  • STM32串口通信串口助手收不到数据

    千次阅读 多人点赞 2019-08-01 19:56:44
    已经确定代码是没有问题的,但是串口调试助手就是收不到消息 解决办法: 别急,我来帮你 右击工程,选择Options for Target ‘test’ 然后。。。。。。 这里打勾, 然后,OK,然后重新编译,打开串口助手,问题解决 ...

    问题:

    已经确定代码是没有问题的,但是串口调试助手就是收不到消息

    解决办法:

    别急,我来帮你
    在这里插入图片描述
    右击工程,选择Options for Target ‘test’
    然后。。。。。。
    在这里插入图片描述
    这里打勾,
    然后,OK,然后重新编译,打开串口助手,问题解决
    我也是被这个问题卡了好几天,在这里与大家分享

    展开全文
  • 在接收到数据的程序中,oncomm()函数 中,加入了 串口打开、关闭图标的程序。使得串口接收大数据,执行这部分程序的时候,串口数据死了。 删掉串口打开、关闭图标的程序后,数据接收正常。 转载于:...

    读对边距的时候,刚开始有数,后来不行了,重新拔插后可以了。

        在接收到数据的程序中,oncomm()函数 中,加入了 串口打开、关闭图标的程序。使得串口接收大数据,执行这部分程序的时候,串口数据卡死了。

        删掉串口打开、关闭图标的程序后,数据接收正常。

     

        

    转载于:https://www.cnblogs.com/rechen/p/5075887.html

    展开全文
  • Private Declare Function GetTickCount Lib "kernel32" () As Long Dim gRevstr As String Private Sub Command1_Click() Dim i As Integer Dim j As Integer Dim ii As Long ...temp = send(3, 2400, "68...
  • 我原来是用消息机制来进行的数据显示,如果接收数据为自动发送过来的,就容易阻塞,怎样改变这种现状呢?可否提供一种思路?我看到有人说可以新建显示数据的线程,在接收数据那儿设置缓存区,然后再显示,可否...
  • 最近在做一个有关高铁模拟仓显示系统的客户端程序,在这个程序中要运用串口serialPort传输数据,因为每次接收数据结束后要更新UI界面,所以就用到了的Invoke,将更新UI的程序代码封装一个方法中,然后通过Incoke...
  • 最近在做一个有关高铁模拟仓显示系统的客户端程序,在这个程序中要运用串口serialPort传输数据,因为每次接收数据结束后要更新UI界面,所以就用到了的Invoke,将更新UI的程序代码封装一个方法中,然后通过Incoke...

    最近在做一个有关高铁模拟仓显示系统的客户端程序,在这个程序中要运用串口serialPort传输数据,因为每次接收数据结束后要更新UI界面,所以就用到了的Invoke,将更新UI的程序代码封装到一个方法中,然后通过Incoke调用,程序跑起来没有任何问题,但是当你执行serialPort.close()是程序就会发生死锁,整个程序卡在那里动都动不了。上网查了很多资料,有各种这样的说法,有的说定义一个接收数据的标志,如果在执行关闭程序是进行判断,如果数据接收完了就关闭串口,没有的话继续执行,但是经过亲自测试并没有什么卵用,最后自己研究invoke的时候发现还有Begininvoke,同时也发现了他们之间的不同,begininvoke用于后台更新UI数据无需等待的情况,而invoke用于后台更新UI数据需要等待的情况,弄明白这两个之间的不同之后才明白原来执行serialPort.close()发生死锁的原因就是invoke在作祟,改成begininvoke就不会出现死锁问题。直接上代码:

     

    SerialPort serialPort1 = new SerialPort(“COM5”, 115200, Parity.None, 8, StopBits.One); //初始化串口设置
    //定义委托
    public delegate void Displaydelegate(byte[] InputBuf);
    Byte[] OutputBuf = new Byte[8];
    public Displaydelegate disp_delegate;

    //接收数据委托
    disp_delegate = new Displaydelegate(DispUI);
    serialPort1.DataReceived += new SerialDataReceivedEventHandler(Comm_DataReceived);

    //串口读取数据处理函数
    public void Comm_DataReceived(object sender, SerialDataReceivedEventArgs e)
    {

    Byte[] InputBuf = new Byte[8];

    try
    {
    serialPort1.Read(InputBuf, 0,6); //读取缓冲区的数据,每次读取6个字节的数据
    System.Threading.Thread.Sleep(100);
    this.BeginInvoke(disp_delegate, InputBuf);//disp_delegate是定义的委托事件,在委托事件中调用修改UI的程序
    }
    catch (TimeoutException ex) //超时处理
    {
    MessageBox.Show(ex.ToString());
    }

    }

    //更新UI界面
    public void DispUI(byte[] InputBuf)
    {

    string str = System.Text.Encoding.Default.GetString(InputBuf);
    // Console.WriteLine(str);
    string strW = str.Substring(0, 2);//截取str的子串,从index=0开始截取长度为2的字符串
    int OutStrW = int.Parse(strW);
    string strS = str.Substring(2, 2);//截取str的子串,从index=2开始截取长度为2的字符串
    int OutStrS = int.Parse(strS);
    OutstrWen = (OutStrW - 4).ToString();
    textBox8.Text = strW;
    textBox9.Text = (OutStrW - 4).ToString();
    textBox10.Text = strS;
    textBox11.Text = (OutStrS - 10).ToString();
    }

     

    转载于:https://www.cnblogs.com/hexiaobao/p/7909103.html

    展开全文
  • 正点原子老师,您好,我现在做的是让板子的串口1持续接受数据并存SD中的.txt文件中,下面是我的程序,是用第40个例程FATFS改的。但是现在只能往.txt文件里面写一行乱码,知道怎么回事,请老师给看看。[mw_shl_...

    正点原子老师,您好,我现在做的是让板子的串口1持续接受数据并存到SD卡中的.txt文件中,下面是我的程序,是用第40个例程FATFS改的。但是现在只能往.txt文件里面写一行乱码,不知道怎么回事,请老师给看看。

    [mw_shl_code=c,true]这个是主循环:

    while(1)

    {

    if(USART_RX_STA&0x8000)

    {

    len=USART_RX_STA&0x3fff;//得到此次接收到的数据长度

    res=f_open(&f_txt,"123.txt",FA_OPEN_ALWAYS | FA_WRITE);

    f_write(&f_txt,USART_RX_BUF,len,(UINT*)&br);

    f_lseek(&f_txt,len);

    USART_RX_STA=0;

    f_close(&f_txt);

    }

    }

    下面是串口中断程序,接收到11,11表示接受完成。

    void USART1_IRQHandler(void)

    {

    u8 Res;

    #ifdef OS_TICKS_PER_SEC

    OSIntEnter();

    #endif

    if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)

    {

    USART_ClearITPendingBit(USART1,USART_IT_RXNE); //清除中断标志[/mw_shl_code]

    [mw_shl_code=c,true]     Res =USART_ReceiveData(USART1);//(USART1->DR); //读取接收到的数据

    if((USART_RX_STA&0x8000)==0)// 接受未完成

    {

    if(USART_RX_STA&0x4000)//接收到了11

    {

    if(Res!=0x11)USART_RX_STA=0;//接收错误重新开始[/mw_shl_code]

    [mw_shl_code=c,true]else USART_RX_STA|=0x8000;//接收完成了[/mw_shl_code]

    [mw_shl_code=c,true] }

    else //还没有收到11[/mw_shl_code]

    [mw_shl_code=c,true]     {

    if(Res==0x11)USART_RX_STA|=0x4000;

    else

    {

    USART_RX_BUF[USART_RX_STA&0X3FFF]=Res ;

    USART_RX_STA++;

    if(USART_RX_STA>(USART_REC_LEN-1))USART_RX_STA=0 //接收数据错误重新开始接收}

    }

    }

    }

    #ifdef OS_TICKS_PER_SEC

    OSIntExit();

    #endif

    }

    #endif

    [/mw_shl_code]

    展开全文
  • 0D 0A,我想mcu返回3A 16 09 02.....,全速运行后结果只返回了一个3A,然后程序住了,之后再怎么发都返回了,停下来就发现一直在中断里面。我查了下数据数据也有传uart_rx_buff[]里面了。求各位大神帮帮忙!!!...
  • {背景} 1. 使用模拟方式与PSAM进行通信,对时序的要求非常严格,在自己的代码中...1. 串口应用收不到PSAM的复位信息 2. 串口的TX 在RX 有数据时发出干扰数据 {解决方案} 1、问题一的解决方案 设置...
  • 导致串口卡死 (具体是不是卡死清楚,也许是死在了某个循环)导致主程序运行指示灯不再闪亮, [由这次也发现,主程序运行指示灯是很必要的,在调试的时候有助于发现问题的所在] 这个问题,可...
  • 工作上需要用到上位机进行数据交互...第一种方法效率低,推荐,第二种则需要利用跨线程的内容。本人就是在这里一天,其实也就10来句代码的事,无奈自己玩这个没得请教,只有求助万能的百度。经过一天多断续的...
  • 资料支持:《完全手册》《中文手册》端口通用与复用,APB1外设,串口寄存器,中断配置 阶段一:demo程序功能:通过串口USART2接收数据包,并把数据再发回去。RFID型号M3650A-HA 数据包第二个数据
  • 笔者写了一个串口通信类,却碰到了一个问题就是显示速度非常的慢,文本框要四五分钟的时间才会显示串口数据的变化,查了几百篇文章都没有提到这个问题,于是在这里记录一下也许会帮你,有网友私信给我让我加QQ号,...
  • 1、支持多达20个串口,对于使用多串口卡或虚拟串口的用户是很必要的; 2、加入了接收显示与保存的关键字过滤功能; 3、具备接收显示与保存时帧换行功能,40ms未受到数据,认为一帧结束; 4、具有记录发送和接收时间...
  • C# 串口开发填坑记

    2020-12-30 13:23:46
    因为,串口接收和界面显示更新属于同一线程,如果在接收到串口数据后就直接更新UI,报错: 解决方案: this.BeginInvoke((EventHandler)(delegate { //在这里给控件赋值 })); 2. 关闭串口界面死 之前的...
  • 工作上需要用到上位机进行数据交互...第一种方法效率低,推荐,第二种则需要利用跨线程的内容。本人就是在这里一天,其实也就10来句代码的事,无奈自己玩这个没得请教,只有求助万能的百度。经过一天多断续的...
  • 串口调试说明

    2013-08-30 13:16:13
    这时在ClassView视窗中就可以看到CMSComm类了,(注意:此类在ClassWizard中看不到,重构clw文件也一样),并且在控件工具栏Controls中出现了电话图标(如图1所示),现在要做的是用鼠标将此图标拖到对话框中,程序...
  • 当一个同步现象、 强噪声或一个断开符号被检测的时候, 这个位有硬件置 1。 由软件向 USART_ICR 寄存器的 FECF 位写 1, 可以清除这个标志。 在智能模式 中发送数据时, 当重发尝试的次数达到上限, 由没有...
  • 1、支持多达20个串口,对于使用多串口卡或虚拟串口的用户是很必要的;  2、加入了接收显示与保存的关键字过滤功能;  3、增加了接收显示与保存时帧换行功能,40ms未受到数据,认为上一帧结束;  4、增加了接收...
  • 同步:发送数据块给另一端称之为同步,要求发送和接收方的时钟必须一致。 异步:发送数据块,而是一个一个字符发送。 全双工:两端都能同时接收和发送。例如打电话。 半双工:两端只能接收或者发送,例如对讲机...
  • 之前在keil上编译的程序能跑,现在竟然跑不了了,具体的问题是:ARM能够发数据到PC上,但ARM收不到PC的数据。即使想实现简单的功能都不行:ARM转发来自PC的数据!!通过测试发现:ARM一直在查询接收缓存器的过程中...
  • 让我们利用串口,把板子上文件内容输入到串口显示(发),再把串口中的数据读取写回到系统文件中() 实验任务: 使用交叉编译环境,编译我们的串口收发实验的源码uart_rw.c(源码需要小改动)(也有同学做了...
  • //------>程序运行这里住 return -1; } printf("打开串口成功"); return 0; } ``` //main函数打开串口 `int _tmain(int argc, _TCHAR* argv[]) { CComDevice CardReader; DCB DCB_COM;...
  • 一直卡到这里,知道怎么解决,求大神帮忙看看!暂无积分,抱歉! using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using ...
  • 线程E负责将接收的数据保存SD;线程F负责将接收的数据通过串口2发送出去。其中线程优先级从大小为C=E>D>F>B>A,每个线程使用堆栈空间设的在10*1024左右。  附件图片为程序运行...
  • UIM 写软件 通用版.rar

    热门讨论 2010-10-12 03:50:23
    选择4:串口器. COM1, 4、插入您的CDMA,芯片向下,(背面和红灯在一面),插入后蓝色的灯会亮起. 按READ UIM按钮,,提示插入卡片面,按是,读卡成功.按确定读取你的CDMA卡片资料信息。 这时会得到例如如下的一组码:...
  • qDebug() 接收串口数据"; QByteArray tmpr = ser->readAll(); qDebug() ; QString recvd; for(int i = 0; i (); i++) { recvd.append(QString::number((quint8)tmpr[i],16)); recvd.append(" "); ...
  • 二、 实时显示万用表发送的测量数据,并可保存成TXT格式的文件,当文件的大小达到一定时,可自动保存指定目录的指定文件,并加上保存时间,方便日后分析。 三、 其它的辅助功能:悬浮显示、接收数量、暂停/继续、...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 148
精华内容 59
关键字:

串口卡收不到数据