赞
踩
目录
主串口:serial0
硬件串口(/dev/ttyAMA0):由于板载蓝牙模块的存在,默认被分配给了蓝牙模块进行通信。性能高,可靠
mini串口(/dev/ttyS0):被默认分配给了排针引出的GPIO(14,15)。这个串口可以用于与GPIO引脚相关的通信任务。波特率受内核时钟影响
初始状态图 |
dtoverlay=pi3-miniuart-bt force_turbo=1 更改后的图 |
树莓派IO口引出的串口默认是控制使用的,为了通过串口配置树莓派
不发送新行
编码:utf-8
树莓派的针脚如下:
接线共地,tx----rx rx----tx
非常常见的接法
- # -*- coding: utf-8 -*
- #! /usr/bin/python
- import serial
- import time
- import RPi.GPIO as GPIO
- GPIO.setmode(GPIO.BCM)#采用bcm编号方式
- gpio_bcm = 26
- GPIO.setup(gpio_bcm,GPIO.OUT)#指定使用26号端口
- ser = serial.Serial('/dev/ttyAMA0', 115200) # 设置端口和波特率
- if ser.isOpen == False: # 检查串口是否打开
- ser.open() # 打开串口
- ser.write(b"Raspberry pi is ready")
- try:
- while True:
- size = ser.inWaiting() # 获得缓冲区字符
- if size != 0:
- response = ser.read(size) # 读取内容并显示
- print(response)
- if response ==b'1':
- GPIO .output(gpio_bcm,GPIO.HIGH)
- print("开灯!!")
- elif response == b'0':
- GPIO.output(gpio_bcm,GPIO.LOW)
- print("关灯!!")
- ser.flushInput() # 清空接收缓存区
- time.sleep(0.5) # 软件延时
- except KeyboardInterrupt:
- ser.close()
树莓派 | 电脑 |
b’1’ | 1 |
b’0’ | 0 |
b’hello’ | hello |
b’\xc4\xe3\xba\xc3’ | 你好 |
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。