• Benvenuti su RaspberryItaly!
Benvenuto ospite! Login Login con Facebook Registrati Login with Facebook


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
Tags
seriale porta di con problema pi3 raspberry

[Problema] Problema con porta seriale di RASPBERRY Pi3
#11
(09/06/2016, 10:13)ippogrifo Ha scritto: Non disponendo di un Pi3 non posso fare prove. Sembra che la difficoltà di recuperare la seriale nel Pi3 sia dovuta al fatto che sia stata assegnata al modem BT mentre per la seriale classica sia stata implementata una UART SW che ha problemi correlati al clock della CPU. Indico un altro link che potrebbe essere di aiuto: http://sammyherring.co.uk/raspberry-pi-3-uart/
Per il tuo uso la consolle dovrà rimanere disabilitata.
Grazie. Credo proprio che sia questa la ragione. Posso usare la ttyS0 solo in output. Da prove con python è l'unica che funziona. Sul terminale HT si visualizza tutto ciò che si trasmette dal PI. Ma utilizzo solo python2 perché il 3 mi segnala un errore nella sintassi della serial.write che non sono riuscito a comprendere.
Comunque grazie per il tempo che mi avete dedicato. Adesso proverò a verificare li link che mi hai mandato.
ciao
 
Risposta
#12
Salve, non vorrei aprire un nuovo argomento visto che la problematica è gia stata affrontata. Ho fatto un giro sul forum ma non ho trovato risposte .
Mi trovo alle prese con questo problema della porta seriale. I passi che ho seguito mi hanno portato ad avere la ttyS0 abilitata. Il problema nasce nel momento in cui lancio il codice seguente:

#!/usr/bin/env python3
# Will also work on Python2.
# Serial port testing

from __future__ import print_function
import serial

test_string = "Testing 1 2 3 4".encode('utf-8')
# test_string = b"Testing 1 2 3 4" ### Will also work

port_list = ["/dev/serial0", "/dev/ttyS0"]

for port in port_list:

try:
serialPort = serial.Serial(port, 115200, timeout = 2)
print("Opened port", port, "for testing:")
bytes_sent = serialPort.write(test_string)
print ("Sent", bytes_sent, "bytes")
loopback = serialPort.read(bytes_sent)
if loopback == test_string:
print ("Received", len(loopback), "valid bytes, Serial port", port, "working \n")
else:
print ("Received incorrect data", loopback, "over Serial port", port, "loopback\n")
serialPort.close()
except IOError:
print ("Failed at", port, "\n")

Mi viene risposto che ho sia ttyS0 che serial0 aperte, che ho inviato 15 bytes e che sono stati ricevuti dati errati.
Qualcuno può aiutarmi ?
Grazie
Risposta
#13
Ci posti l'errore che ti da?
E magari qualche informazione in piu sull'hardware, dato che lo script che hai postato ti da errore se non riceve la stessa stringa che ha inviato, sarebbe utile sapere cosa c'è dall'altro lato della seriale


PS: Nel codice python l'identazione è la base del linguaggio, se inserisci il codice con l'apposito popup d'inserimento e con la corretta identazione ci fai tutti piu felici :-)

Mandi

Barbezuan
Risposta
#14
Hai ragione,
- Raspberry Pi 3 con Jessie
- Ho collegato i pin 8 e 10 tra di loro, per fare il test.
- Il codice formattato è questo:
Codice:
#!/usr/bin/env python3
# Will also work on Python2.
# Serial port testing

from __future__ IMPORT print_function
import serial

test_string = "Testing 1 2 3 4".encode('utf-8')
# test_string = b"Testing 1 2 3 4" ### Will also work

port_list = ["/dev/serial0", "/dev/ttyS0"]

for port in port_list:

  try:
     serialPort = serial.Serial(port, 115200, timeout = 2)
     print("Opened port", port, "for testing:")
     bytes_sent = serialPort.write(test_string)
     print ("Sent", bytes_sent, "bytes")
     loopback = serialPort.read(bytes_sent)
     if loopback == test_string:
          print ("Received", len(loopback), "valid bytes, Serial port", port, "working \n")
          serialPort.close()
     else:
          print ("Received incorrect data", loopback, "over Serial port", port, "loopback\n")
          serialPort.close()
  except IOError:
     print ("Failed at", port, "\n")
Come detto nel post precedente, sembra che sia possibile scrivere ma non leggere. 
Grazie
Risposta
#15
ho trovato info a questo link.
ho risolto, avevo riscontrato lo stesso problema e confermo quanto hai sentito dire: la seriale è usata dal blt.

http://www.mangialardi.it/la-uart-della-raspberry-pi-3/

ik5nth-mauro
Risposta
  


Vai al forum:


Navigazione: 1 Ospite(i)
Forum con nuovi Post
Forum senza nuovi post
Forum bloccato
Forum Redirect