当前位置:   article > 正文

树莓派4B学习——串口点灯

树莓派4B学习——串口点灯

目录

树莓派的设置:

修改串口映射关系:硬件串口为主串口

禁用串口的控制台功能

  重启树莓派

 串口小助手的设置:

接线图:

Python代码:


树莓派的设置:

  • 修改串口映射关系:硬件串口为主串口

主串口:serial0

硬件串口(/dev/ttyAMA0):由于板载蓝牙模块的存在,默认被分配给了蓝牙模块进行通信。性能高,可靠

mini串口(/dev/ttyS0):被默认分配给了排针引出的GPIO(14,15)。这个串口可以用于与GPIO引脚相关的通信任务。波特率受内核时钟影响

  • cd  /dev
  • ls

初始状态图

  • sudo  nano /boot/config.txt
  • 在文件末尾加入:

dtoverlay=pi3-miniuart-bt

force_turbo=1

更改后的图


  • 禁用串口的控制台功能

树莓派IO口引出的串口默认是控制使用的,为了通过串口配置树莓派

  重启树莓派

 串口小助手的设置:

不发送新行

编码:utf-8

接线图:

树莓派的针脚如下:

接线共地,tx----rx   rx----tx

非常常见的接法

Python代码:

  1. # -*- coding: utf-8 -*
  2. #! /usr/bin/python
  3. import serial
  4. import time
  5. import RPi.GPIO as GPIO
  6. GPIO.setmode(GPIO.BCM)#采用bcm编号方式
  7. gpio_bcm = 26
  8. GPIO.setup(gpio_bcm,GPIO.OUT)#指定使用26号端口
  9. ser = serial.Serial('/dev/ttyAMA0', 115200) # 设置端口和波特率
  10. if ser.isOpen == False: # 检查串口是否打开
  11. ser.open() # 打开串口
  12. ser.write(b"Raspberry pi is ready")
  13. try:
  14. while True:
  15. size = ser.inWaiting() # 获得缓冲区字符
  16. if size != 0:
  17. response = ser.read(size) # 读取内容并显示
  18. print(response)
  19. if response ==b'1':
  20. GPIO .output(gpio_bcm,GPIO.HIGH)
  21. print("开灯!!")
  22. elif response == b'0':
  23. GPIO.output(gpio_bcm,GPIO.LOW)
  24. print("关灯!!")
  25. ser.flushInput() # 清空接收缓存区
  26. time.sleep(0.5) # 软件延时
  27. except KeyboardInterrupt:
  28. ser.close()

树莓派

电脑

b’1’

1

b’0’

0

b’hello’

hello

b’\xc4\xe3\xba\xc3’

你好

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/762682
推荐阅读
相关标签
  

闽ICP备14008679号