************************************************
Environment:raspi3B系统、win10 +上位机 、usb转TTL线一根、显示屏(或用Viwer...有点麻烦,需要网上查找)
Info:author@:New
Time:20180722
****************************************************
注意:博客针对无人机视觉raspi3B系统--已更改了默认串口 #serial1 ->ttyS0 #serial0 ->ttyAMA0
并恢复为默认设置->#20180721-change states #serial1 ->ttyAMA0 #serial0 ->ttyS0
ls -l /dev 查看串口详情,
正文
1、ls -l /dev 查看串口配置,
#serial1 ->ttyS0
#serial0 ->ttyAMA0
2、树莓派配置:
sudo raspi-config
选择 Interfacing Options -> Serial -> 是-> 确定。
reboot
打开/boot/config.txt 文件,找到如下配置语句使能串口,如果没有,可添加在文件最后面:
enable_uart=1
sudo vi /boot/config.txt
删除 dtoverlay=pi3-miniuart-bt ,保存退出,ls -l /dev 查看串口配置,这是已经更改了。
3、串口配置
树莓派io口引出串口默认是用来做控制台使用的,即是为了用串口控制树莓派,而不是通信。所以我们要禁用此默认设置。
两个命令
sudo systemctl stop serial-getty@ttyS0.servicesudo systemctl disable serial-getty@ttyS0.service
然后命令行
sudo vi /boot/cmdline.txt 删除语句 console=serial0,115200
保存退出
具体结合自己情况,ls -l /dev 查看串口配置,显示纯在 serial1 ->ttyS0 即ttyS0可用了
可以加载miniuart (linux串口助手测试,不细说)需要见:https://www.jianshu.com/p/bae40bd60cd2
4、实物连接图及代码
#serial_write.py
#!/usr/bin/python
# -*-coding: utf-8 -*-
#20180720-无人机系统状态
#serial1 ->ttyS0
#serial0 ->ttyAMA0
#20180721-change states
#serial1 ->ttyAMA0
#serial0 ->ttyS0import serial
import time
ser = serial.Serial(port = '/dev/ttyS0',#port = '/dev/usb',baudrate = 115200,parity = serial.PARITY_NONE,stopbits = serial.STOPBITS_ONE,bytesize = serial.EIGHTBITS,timeout = 1)
#counter = "asdfasdf"
counter =0
#while 1:
for i in range(1,11):print counterser.write("Write : %d " %(counter))#ser.write(counter)time.sleep(1)counter +=1
ser.close()
如果疑问,欢迎留言交流,不定期查看谢谢