0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【学习笔记】串口数据突然掉帧

撞上电子 2022-09-02 09:26 次阅读
今天上班的时候
在用一个单片机写串口发送程序
上位机不断监听
大多数情况都是正常的
只是每隔几分钟突然掉帧
数据明明是“33”
却变成“30”
还掉了帧
出现如下图情况:

c34c31f0-2947-11ed-9ade-dac502259ad0.png在红色方框中严重掉帧,并且数据明明是"33" 却变成了"30",于是我百度了一下,问题主要有以下几个方面:
(1)波特率:最直接的方法就是降低波特率。(2)发送间隔:如果条件允许,可以将发送端的发送频率降低,采用定时发送的方式,每间隔一段时间发送;如果定时50ms有掉帧,定时100ms试试。(3)上拉电阻:根据网上有些文章提到的方法,还可以在串口接收端增加上拉电阻,有时候即使发送端没有发出数据,接收端也会误接到一些数据,频繁进入中断也会降低单片机处理效率,在电路上增加上拉电阻的目的就在于降低误接的概率,提高单片机的处理效率。 (4)不要使用过长的串口线
(5)使用外部无源晶振,不要使用有源晶振和内部晶振。
(6)检查代码,是不是串口工作时,其他的更加高级的中断打断了串口。这些方法都没有实践过,明天上班再来实践一下吧,如果同学们认为还有其他的问题,留言吧,我明天统一实操。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 串口
    +关注

    关注

    14

    文章

    1509

    浏览量

    74834
收藏 人收藏

    评论

    相关推荐

    单片机串口如何接收上位机不断发送的数据

    各位大虾:本人菜鸟请教一个问题,单片机如何接送串口不断发送的数据,并将该的有效数据提取出来,请赐教一个完整程序。 注:我用的是89C52
    发表于 11-06 07:41

    串口通信中怎么确定一帧数据接收完成?

    串口通信中怎么确定一帧数据接收完成
    发表于 10-27 06:24

    串口中的是什么概念?

    串口中的是什么概念
    发表于 10-20 07:27

    无线串口传输不稳定经常数据怎么解决?

    传输的过程中经常数据应该怎么解决
    发表于 10-13 07:11

    FT232RL在传输的时候会出现偶尔数据的情况怎么解决?

    应该如何排除这个数据的问题
    发表于 10-09 06:39

    敏矽微电子Cortex-M0学习笔记07——串口通信详解

    敏矽微电子Cortex-M0学习笔记07——串口通信详解
    的头像 发表于 09-26 17:11 840次阅读
    敏矽微电子Cortex-M0<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>07——<b class='flag-5'>串口</b>通信详解

    串口帧数据到底什么意思,比如接收一串汉字一个汉字算一吗?

    关于串口接收发送问题,一帧数据到底什么意思,比如接收一串汉字,一个汉字算一吗?还是不固定。搞不懂
    发表于 09-26 08:03

    如何写出单片机发送字母A的一帧数据格式?

    写出发送字母\'A的一帧数据格式(假设串口工作在方式1,且已知字符A的ASCII 码是65 (对应十六进制0x41))。
    发表于 09-25 06:47

    串口的解决方案

    该例程可在 STM3220G-EVAL 上运行。使用 USART6 的 DMA 方式收发数据,使用 TIM9 的 Slave Reset 模式: TIM9_CH1用于捕获串口的接收数据波形,并在
    发表于 09-22 08:03

    stm32如何实现串口超时接收一帧数据

    stm32如何实现串口超时接收一帧数据
    发表于 09-22 07:00

    串口通信学习笔记

    串口似乎是一个比较模糊的概念,UART、COM口、RS-232、RS-485等名称有时都会被称作串口,但是从应用电路上看,三者又显然存在差异。个人理解,我们通常所说的串口是使用串行通信协议的一类接口
    发表于 09-20 15:23 393次阅读
    <b class='flag-5'>串口</b>通信<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>

    STM32Cube学习笔记

    STM32Cube学习笔记,一步一步手把手带你进入STM32Cube的世界,包括点灯,按键,串口,ADC,DAC等等一共16篇。
    发表于 09-20 06:49

    stm32如何实现串口超时接收一帧数据?

    stm32如何实现串口超时接收一帧数据
    发表于 09-20 06:08

    STM32单片机学习笔记(3):虚拟串口

    利用CubMX生成基于32单片机的HAl库工程,然后编写程序在proteus上仿真验证。本项目最适合没有开发板的同学学习,零成本利用仿真软件率先入门STM32单片机。这是第三部分针对串口通信
    发表于 07-18 16:40 2201次阅读
    STM32单片机<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>(3):虚拟<b class='flag-5'>串口</b>

    ESP32学习笔记串口

    接收 FIFO,共享 1024*8bit 的 RAM,通过串口,我们可以非常方便的跟其它外设进行通信或者打印数据
    的头像 发表于 07-13 17:09 3257次阅读
    ESP32<b class='flag-5'>学习</b><b class='flag-5'>笔记</b>:<b class='flag-5'>串口</b>