无法读取Raspberry Pi UART引脚

2024-09-23 04:33:34 发布

您现在位置:Python中文网/ 问答频道 /正文

我无法从Raspberry Pi UART引脚读取数据。这是我使用的Python代码:

import serial
import time
import string
import pynmea2

while True:
    port="/dev/ttyAMA0"
    ser=serial.Serial(port, baudrate=115200, timeout=0.5)
    dataout = pynmea2.NMEAStreamReader()
    newdata=ser.readline()

    if newdata[0:6] == "$GPRMC":
        newmsg=pynmea2.parse(newdata)
        lat=newmsg.latitude
        lng=newmsg.longitude
        gps = "Latitude=" + str(lat) + "and Longitude=" + str(lng)
        print(gps)

运行代码时,出现以下错误:

Traceback (most recent call last): File"/usr/lib/python3/distpackages/serial/serialposix.py", line 265, in openself.fd = os.open(self.portstr, os.O_RDWR | os.O_NOCTTY | os.O_NONBLOCK) PermissionError: [Errno 13] Permission denied:'/dev/ttyAMA0' During handling of the above exception, another exception occurred: 
Traceback (most recent call last):   File "/home/pi/Desktop/sa.py", line 8, in <module> ser=serial.Serial(port, baudrate=115200, timeout=0.5)   File "/usr/lib/python3/dist-packages/serial/serialutil.py", line 240, in__init__
    self.open()   File "/usr/lib/python3/dist-packages/serial/serialposix.py", line 268, in open raise SerialException(msg.errno, "could not open port {}: {}".format(self._port, msg)) serial.serialutil.SerialException: [Errno13] could not open port /dev/ttyAMA0: [Errno 13] Permission denied:'/dev/ttyAMA0'

Tags: inpydevimportosportlineserial