玩转树莓派3 -- 串口问题的解决
来源:互联网 发布:5250设置端口trunk 编辑:程序博客网 时间:2024/06/07 22:19
买到树莓派3,想通过串口控制台来玩一下
结果发现,串口是不能用的
这就意味着,开机过程当中,看不到那些字符串打印,之后,也使用不了串口控制台
查了一下网上的相关文章
主要原因是,树莓派3带有蓝牙功能,而该蓝牙模块是通过硬件串口UART0/ttyAMA0连接的
另外还有一个软件串口 mini-UART (ttyS0),但不能产生稳定的频率,因为,该软件串口的频率是与CPU频率相关的
由于树莓派官方,不仅没有公布这块板子的电路图,而且,也找不到CPU BCM2837的芯片手册
所以,就不要从硬件角度去想着如何把这个问题搞得更透了
那就从软件的角度去把这个问题解决
网上的相关文章,有很多,有一部分最终结果,也是能将串口控制台能使用起来了,达到了目的
但问题在于,有些写得很多,把不必要的部分也加进来
有些写得看似很精简,但按照这个方法去解决,又根本没有达到目的
我将网上的一部分文章归纳了一下
一些步骤是都有提及的,一些步骤是有些文章有,有些文章却没有的
如果说这是一个时序逻辑,那如何把必要的步骤提取出来,然后按照一定的先后顺序去实施,是问题解决的关键
归纳了一下,有这此步骤,是大家都提及的:
1.sudo systemctl disable hciuart
2.dtoverlay=pi3-disable-bt --- /boot/config.txt
3.edit /lib/systemd/system/hciuart.service
and replace ttyAMA0 with ttyS0
4.dtoverlay=pi3-miniuart-bt --- /boot/config.txt
5./boot/cmdline.txt
所以问题来了,这5个步骤都需要吗,以及这些步骤之间有时间先后吗?
问题的解决,还是从最根本的/boot/overylays/README而来:
*******************************************************************************************************
Name: pi3-disable-bt
Info: Disable Pi3 Bluetooth and restore UART0/ttyAMA0 over GPIOs 14 & 15
N.B. To disable the systemd service that initialises the modem so it
doesn't use the UART, use 'sudo systemctl disable hciuart'.
Load: dtoverlay=pi3-disable-bt
Params: <None>
Name: pi3-miniuart-bt
Info: Switch Pi3 Bluetooth function to use the mini-UART (ttyS0) and restore
UART0/ttyAMA0 over GPIOs 14 & 15. Note that this may reduce the maximum
usable baudrate.
N.B. It is also necessary to edit /lib/systemd/system/hciuart.service
and replace ttyAMA0 with ttyS0, unless you have a system with udev rules
that create /dev/serial0 and /dev/serial1, in which case use
/dev/serial1 instead because it will always be correct. Furthermore,
you must also set core_freq=250 in config.txt or the miniuart will not
work.
Load: dtoverlay=pi3-miniuart-bt
Params: <None>
*******************************************************************************************************
其实在这个README当中,已经把如何硬件串口使用起来,写得非常明确了。
不知道大家能用两步解决吗?
做工程师这么多年,得出一个结论,做很多的项目固然是好事情
你会发现,有很多工程师,年纪也不小了,面试的时候,简历上也写着做过好多项目,看似有非常丰富的工作经历,阅历也非常宽泛,知识面也很广
但一碰到问题,他就心慌,就没有任何头绪,
这种情况的根本问题就是,他只顾做事情,没有时间去思考,对问题从表象到ROOT CAUSE,有一次很好的锻炼。
所以,项目不在多,而在精!!!
- 玩转树莓派3 -- 串口问题的解决
- u-boot 串口乱码问题的解决
- usb转串口蓝屏问题的解决
- 树莓派3之解决串口使用问题
- 树莓派3的调试串口问题的不完美解决:让蓝牙与调试共存
- VC串口控件编程,解决内存不断增加的问题
- VC串口控件编程,解决内存不断增加的问题
- 用控件(CMSComm)串口调试问题的解决
- 解决centOS5中xen内核占用串口的问题
- 解决“串口接收数据时被截断”的问题
- MSComm32控件只支持16个串口问题的解决
- 解决串口调试工具COM口不够用的问题
- 【解决CSerialPort 串口类不能连续发送的问题】
- 【解决】关于蓝牙模块串口设置总是错误的问题
- MTK 解决蓝牙串口MMI不能收发数据的问题
- 解决tiny4412串口终端不能输入的问题
- 解决stm8会卡在串口中断的问题
- 解决PlatformIO开发环境串口监视器的默认波特率问题
- matlab入门教程一 ----- 初识matlab
- (转)史上最全人工智能产品清单(1/3)
- 打开网页就运行js方法
- CF 396A On Number of Decompositions into Multipliers(组合数学)
- java.lang.IllegalArgumentException: @EnableAsync annotation metadata was not injected
- 玩转树莓派3 -- 串口问题的解决
- 周志華《機器學習》答案搜集
- myeclipse10 tomcat :the source attachment does not contain the source for the file URLClassPath.clas
- jzoj P2152【2017.7.7普及】终极数
- Python探索记(16)——Python的可变类型与不可变类型
- Vector & ArrayList 的主要区别
- 用dfs搜索特殊数
- caffe 添加新的网络层 (步骤)
- 绑定