树莓派连接串口时无法开机

树莓派连接串口时无法开机参考
我的情况
因为项目需要,因此需要使用树莓派控制电机,而电机是一上电就会给树莓派发送数据,而这时树莓派还正处于开机时,结果就是开机失败 。当将串口断开时就又可以正常开机了 。串口的连接方式是使用了树莓派的GPIO口对应的RX和TX 。
【树莓派连接串口时无法开机】我的思考
我个人认为是因为开机时树莓派要检查GPIO口,而检测到有一个口电压不对,因此出现了错误,导致无法开机 。
我的解决过程
首先就是打开bing和进行搜索解决方法,找了好久,并没有解决 。最终我把目光投向了
首先是问他这个问题
这时我还没说我是通过USB连接的串口还是GPIO连接的串口,他居然判断是否是GPIO连接的串口,于是我感兴趣的把目光投向了他说的GPIO引脚的占用问题
于是他这给出了这个答案,我便继续追问
经过这样的设置后,仍旧没有解决问题,但是给了我思路,同时我发现我的树莓派的.txt不起作用,起作用的是/boot//.txt(好像是这个),
重点
于是我询问他怎么开机时关闭对GPIO的检查

树莓派连接串口时无法开机

文章插图
我把它写到了我对应的起作用的.txt文件中,的确连接电机时可以开机了 。但是问题出现了,我打开串口时接收不到电机发给我的数据了,这也不太行 啊
原因时我通过gpio 命令读取到那两个串口的引脚的模式改成了in而正常能够读取数据的格式应该是ALT0,虽然我不知道这是啥模式 。
于是它给我推荐了一种开机后修改引脚模式的指令,于是我通过该指令可以设置指定的GPIO口为ALT0模式这时电机的数据就可以接收到了
经过整个过程后我发现,仅关闭串口RX对应的GPIO检查就可以开机了,因为只是这个口对开机产生了影响 。而设置RX是用的是物理口编号,而开机后修改模式后用的是BCM编号 。总之解决了连接电机开机并开机后又能接收数据,解决了我的问题 。
参考
[1]: