调试过程中,树莓派串口读单片机上传的数据 的程序突然一堆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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)