调试过程中,树莓派串口读单片机上传的数据 的程序突然一堆checksum error。

换一块满电的LiPo电池就大幅减少了报错。

一开始猜测原因 可能是电压过低导致CPU运行慢了(可能叫做“降频”),查了一下论坛上确实有这种情况。

后来一想,CPU是从串口收发芯片里取数据,有可能是LiPo电池没电了导致 串口收发芯片的供电不足,进而发生芯片收发数据异常增多。

查了一下,树莓派4B采用的是 Broadcom BCM2711这款SOC,这款SOC包含ARM Cortex-A72 (ARMv8系列)的CPU。查了一下BCM2711手册,发现使用的串口收发器是PL011。

bcm2711手册:

https://datasheets.raspberrypi.com/bcm2711/bcm2711-peripherals.pdf

PL011手册:

https://documentation-service.arm.com/static/5e8e36c2fd977155116a90b5?token=

看了手册之后,还是对串口的认识又清晰了一些。

PL011也是ARM设计的。喜欢硬件的人,到ARM公司上班还是不错的。

另外,树莓派这个硬件 也是可以学到不少知识的。

树莓派官网 Computer-->Raspberry Pi Hardware:

Raspberry Pi Documentation - Raspberry Pi Hardware

树莓派电压过低 串口数据错误增多相关推荐

  1. putty串口打开没反应_如何使用树莓派快速搭建一个串口数据记录器?

    在最近发现同事的某些项目临时增加了一些需求,把测出的能见度数据保存在存储介质中,并且可以随时远程查阅.如果在项目时间与成本允许的情况下,我们会选择在PCB中增加SD卡槽以及以太网接口,用于存储数据和联 ...

  2. 树莓派3b接收USB串口数据并解析处理

    通过树莓派3b使用wiringPi接收串口数据,并对帧头帧尾进行判断,解析出符合帧协议的数据. 1. 帧头.帧尾.帧长度定义 我们在这里定义串口数据的帧头为 0x3A 0x3B,帧尾为 0x7E 0x ...

  3. Linux下串口编程遇 接收数据错误问题及原因

    近日在调试串口的时候发现,另一设备向我ARM板的串口发送0x0d,我接收之后变成了0x0a,这是问题一:另外当对方向我发送一串数据,如果其中有0x11,那么我总是漏收此数,这是问题二. 由于问题莫名其 ...

  4. jy61 树莓派_用Linux树莓派来读取JY61的串口数据

    简述 有很多的小伙伴说用Linux树莓派来读取JY61的串口数据不知道怎么操作.今天我和大家分享下我是从三个方面分享的.1.JY61和树莓派的连接方式及VNC的使用:2.下载到树莓派的程序是如何编写的 ...

  5. 关于Proteus 8仿真STM32串口通信时显示数据错误或乱码问题解决!

    本人用Proteus 8仿真STM32F401RBT6串口通信时一直不能正确收发数据,写到板子通信数据显示正常,也在csdn查了很多人的解决办法,但都没了正常解决,直到看到某大神说到串口参数,我试着改 ...

  6. STM8学习笔记---通过示波器分析串口数据

    在用单片机做串口通信时,经常会遇到通信错误,但是检查程序时却没发现有什么问题.这时候就可以借助示波器来观察串口数据是不是正确.但是串口数据的波形要怎么看呢.先来看看串口数据帧的定义: 常用的数据格式为 ...

  7. 串口通信协议(基于面试),与及树莓派与电脑之间串口通信

    一.首先来说一下基于面试的串口通信协议 树莓派wiringPi库详解 (1)串口通信是基于多机的通信 主要就是两根线:RXD和TXD 举例,语音识别模块与树莓派之间进行串口通信 语音模块的T连接树莓派 ...

  8. 【STM32学习】——USART串口数据包HEX/文本数据包收发流程串口收发HEX/文本数据包实操

    文章目录 前言 一.数据包格式(江科大规定) 1.HEX数据包 2.文本数据包 3.两者对比 二.数据包收发流程 1.HEX数据包接收(只演示固定包长) 2.文本数据包接收(只演示可变包长) 三.实操 ...

  9. C#串口数据读取及处理解决方案--祖传代码修改记

    文章目录 原方案 代码 基本思路 串口通信基本原理 采集数据流程 问题 重构 问题复盘 重构过程 ReadTo函数 多线程 代码 原方案 欢迎大家访问我的个人网站 www.joezhouman.com ...

最新文章

  1. 2.1.6 编码与调制(2)
  2. AXURE在原型设计中的应用
  3. php://input和php://output
  4. 【python】pycharm启动 一直index,无法运行
  5. Hemberg-lab单细胞转录组数据分析(九)- Scater包单细胞过滤
  6. 2021年还能用的13款完全免费的Office插件整理(含功能详细介绍)
  7. 2021年河南省中等职业教育技能大赛 网络搭建与应用项目
  8. JS动态添加元素后事件不起作用失效
  9. 用计算机处理表格说课稿,信息技术《电子表格的特点及应用》的说课稿
  10. 【web前端初级课程】第八章 什么是事件?
  11. 长城麒麟linux安装软件,在优麒麟20.04系统下安装软件建议到自带的软件商店中...
  12. linux卸载beyondcompare,CentOS上运行BeyondCompare
  13. 前58技术委员会主席多次强调的Java核心,你精通吗?
  14. 数据库 = MySQL详解-基本命令
  15. 找人接电话的常用套语
  16. 单片机c语言中延时函数的作用,单片机中C语言延时函数
  17. 三星手机如何刷原生Android,必赢贵宾会「永久地址0365.tv」三星s8刷原生android三星i8320刷android大法。。。...
  18. css svg 闪烁,如何在svg中实现闪烁效果?
  19. 在 VMWare Player 中创建 Windows Server 虚拟机
  20. 方向盘左右能摇动_汽车方向盘开起来会左右摇摆---怎么解决

热门文章

  1. list对oracle结果集排序了_MySQL之排序分组优化
  2. Webpack4 学习笔记 - 01:webpack的安装和简单配置
  3. HttpURLConnection IllegalStateException
  4. Springboot 使用thymeleaf模板layout布局
  5. Scala 与设计模式(一):Singleton 单例模式
  6. 如何在Linux下使用rsync
  7. 如何用ping来测试Azure虚机网络延迟的监测工作
  8. RewriteCond和13个mod_rewrite应用举例Apache伪静态
  9. 字符编码的知识(二)
  10. 某外包程序员炫耀:不用管绩效和代码质量,工作摸鱼,从不加班,没有pua,外包是真的舒服!...