树莓派使用串口
树莓派使用串口
树莓派默认将 serial0 映射到 外接GPIO的15、16脚。默认将 serial1 映射到 BT蓝牙上。所以如果想要将 ttyAMA0映射到外部 GPIO上,只需要禁用蓝牙,并将 serial0 和serial1 他们链接的对象互换。
但树莓派4B的更改方式与旧版本不同,终端输入ls -l /dev/serial*
,发现只有serial1->ttyAMA0,没有serial0也没有ttyS0,更没有二者的映射。
解决方法
不要去修改config.txt
里的配置!!!网上很多教程误人子弟,此文件开头就明确声明了禁止修改,用户的修改均要放置到usercfg.txt
中!打开config.txt
可以看到这个文件引用了syscfg.txt
,这个文件里面写了enable_uart=0
,也就是说即便在config.txt
中修改了enable_uart=1
,下面还是会被重新赋值为enable_uart=0
。而usercfg.txt
是在syscfg.txt
后引用的,所以用户的修改项会覆盖上面的所有配置。
正确方法如下
1 | cd /boot/firmware |
在里面添加
1 | enable_uart=1 |
保存,然后禁用跟蓝牙有关的开机启动项
1 | sudo systemctl disable bluetooth |
重启树莓派
1 | reboot |
然后再次ls -l /dev/serial*
就可以看到正确的映射关系
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 范子琦的博客!
评论